仅在MATLAB中的行首处匹配正则表达式

时间:2013-08-19 17:03:51

标签: regex matlab

我有一个跨越多行的字符串。换行符是LF,就像在“hello”和“world”之间有换行符的“hello world”示例一样:

some_bytes = [104  101  108  108  111 10 119  111  114  108  100];
some_string = char(some_bytes);

disp(some_string)

我想匹配序列“wo”,但只有它出现在一行的开头。但是使用正则表达式

idx = regexpi(some_string,'^wo');

返回一个空数组。我做错了什么?

1 个答案:

答案 0 :(得分:9)

默认情况下,

^仅匹配字符串的开头。您可以使用(?m)搜索标记激活多线模式:

idx = regexpi(some_string,'(?m)^wo');

或者,您可以提供选项'lineanchors'See the documentation