我需要匹配行中的单词。例如:
The blue bird is dancing.
Yellow card is drawn
The day is perfect rainy
blue bird is eating
这四行位于文本文件中l2
.
我想匹配蓝鸟、黄卡、日期,并且每次打印一行时,匹配的单词都会打印在该行之前。
y=regexp(l2,('^(?=.*blue bird)|(?=.*day)|(?=.*Yellow card)$'));
是这样的吗?我无法得到结果。
sprintf('[%s]',y,l2);
MATLAB 的正则表达式引擎不使用\b
作为单词边界锚but \< and \> http://www.mathworks.de/de/help/matlab/matlab_prog/regular-expressions.html#f0-42983.
所以你的正则表达式会变成
y = regexp(l2, '^(?=.*\<(?:blue bird|day|Yellow card)\>).*', 'lineanchors');
假如说l2
是一个多行字符串。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)