アンダースコアで囲まれたブロックを持つ文字列があります。例:
*Text* _word_ it is something we read every day. _Words in texts_ can be really expressive. _A nice text is a pleasure for your body and soul_ (Oscar Wilde)
上記の例では、そのようなブロックが3つありますが、その数は文字列ごとに異なります。最後の1つだけを一致させたい、つまり、行の終わりから始めて、最初の_が見つかるまで文字を怠惰にスキップし、2番目の_に遭遇するまで後続の文字をスキップして、そこで停止します。
文字列内の最初のブロックを探していれば、同様のブロックを見つけるのは簡単ですが、最後のブロックを見つけるのはどうですか?
試してみてください:
((?:_[^_\r\n]*){2})$
アンダースコアに続いて、アンダースコアまたは改行ではない任意の数の文字が一致します。これらはすべて、先取特権の終了前に2回発生します。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加