2013-08-19 46 views
3

我有一個跨越多行的字符串。換行符是LF,如「世界你好」的這個例子有間「你好」和「世界」一個換行符:匹配正則表達式只在MATLAB的行首開始

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

disp(some_string) 

我想序列「沃」搭配,但只有當它發生在一行的開始處。但是使用正則表達式

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

返回一個空數組。我究竟做錯了什麼?

回答

9

^默認情況下只匹配字符串的開頭。您可以通過使用(?m)搜索標誌啓用多行模式:

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

或者,您可以提供的選項'lineanchors'See the documentation

相關問題