我有一个跨越多行的字符串。换行符是 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');

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

最佳答案

^ ,默认情况下,只匹配字符串的开头。您可以使用 (?m) 搜索标志激活多行模式:

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

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

关于regex - 仅在 MATLAB 行首匹配正则表达式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18319235/

10-09 13:27