0

次の形式の文字列があります。

greengrocerabc
sandwichcba
oscardcba

abcabcdおよびを遅延一致させたいabcdeので、最初のコンポーネントを取得できます。だから何か

sub("^(.+)(abc|cba|dcba)", "\\1", "oscardcba") => "oscar"

ただし、正規表現のOR貪欲な一致cbaと私は得るoscard

これを怠惰に一致させるにはどうすればよいORですか? 言語は R ですが、grep や perl のように動作できます。

4

1 に答える 1

4

次に、量指定子を非貪欲にします。

^(.+?)(abc|cba|dcba)

このように、キャプチャ グループには可能な限り最短の一致のみが含まれます (これにはabccbaまたはは含まれませんdcba)。

参考文献:

于 2011-08-16T17:28:35.570 に答える