我想提取字符串是否包含'jack'或'jill'并返回名称。像这样:
name = regexp('/home/jack/Documents','jack | jill','match');
name = 'jack'
提前致谢。
修改
如果问题与空格有关,我如何将它们保留在模式中,但仍然匹配名称?
答案 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)
匹配时忽略空格字符和注释。使用'\ '
和'\#'
匹配空格和#
字符。