'或'在matlab regexp中

时间:2017-07-13 21:06:57

标签: regex matlab

我想提取字符串是否包含'jack'或'jill'并返回名称。像这样:

name = regexp('/home/jack/Documents','jack | jill','match');
name = 'jack'

提前致谢。

修改

如果问题与空格有关,我如何将它们保留在模式中,但仍然匹配名称?

1 个答案:

答案 0 :(得分:4)

您需要使用'jack|jill'模式,因为模式中的空格有意义

pattern = 'jack|jill';
s = '/home/jack/Documents';
name = regexp(s,pattern,'match');

name现在包含jack

如果要使正则表达式引擎忽略模式中所有未转义的空格,请在模式的开头添加(?x)

pattern = '(?x)jack | jill';

请参阅the docs

  

(?x)
  匹配时忽略空格字符和注释。使用'\ ''\#'匹配空格和#字符。

相关问题