0

私はこれまでのところかなり良いこの正規表現を使用しています...

var r = /((ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?)/gi;

しかし、次のような文字列がある場合...

 '<div>http://www.a-random-site.com/page1-blah-blah</div>Another bit of text'

次に、一致するビットは...

http://www.a-random-site.com/page1-blah-blah</div>Another

角括弧がリンクを終了させる可能性があることを考慮して正規表現を変更するにはどうすればよいですか?

4

2 に答える 2

1

saramを編集し、 Expressoregex patternでテストしたところ、サンプルで動作しました。

(?:http|ftp|https):\/\/[\w\-_]+(?:\.[\w\-_]+)+(?:[\w\-\.,@?^=%&amp;:/~\+#]*[\w\-\@?^=%&amp;/~\+#])?
于 2013-04-25T10:39:42.807 に答える
0

正規表現を修正する簡単な方法があるかどうかはわかりません。URLにこのコードを使用するだけです:

(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&amp;:/~\+#]*[\w\-\@?^=%&amp;/~\+#])?

ソースリンク

実施例

于 2013-04-25T11:04:48.893 に答える