3

複数行にまたがる文字列があります。「hello」と「world」の間に改行がある「hello world」の例のように、改行は LF です。

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');

空の配列を返します。私は何を間違っていますか?

4

1 に答える 1

9

^、デフォルトでは、文字列の先頭でのみ一致します。(?m)検索フラグを使用して、複数行モードを有効にすることができます。

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

または、オプションを指定することもできます'lineanchors'ドキュメントを参照してください

于 2013-08-19T17:14:59.820 に答える