0

ユーザーが次のように入力して簡単にリンクを生成できるプロジェクトを構築しています: #this is the link#. そして、正規表現を使用して 2 つの # 記号の間で文字列をキャッチしようとしています。私が試してみました、

#.+#

ユーザー文字列にリンクが 1 つしかない場合は完全に機能しますが、次のようなリンクが複数ある場合は、

#asdfasdf asdf# asdf asfasdfasdf asd fasd fasdf #asdfasdf asdfasdf asdf asdf#

文字列全体をキャッチします。しかし、私はそれらを別々に必要とするので、タグで置き換えることができます.

4

2 に答える 2

4

これは「貪欲な正規表現」と呼ばれます。デフォルトでは、正規表現は可能な限り長い文字列に一致します。この方法で非貪欲にすることができます:

/#.+?#/

デモ: http://rubular.com/r/7WWyaUApFt

于 2012-05-23T21:46:01.053 に答える
2

貪欲でない一致を使用する

#.+?#

それは個々のものを捕まえます。

于 2012-05-23T21:46:12.090 に答える