我是regex的新手,所以非常感謝任何幫助。
我有一個運算式來識別一個URL。
(http[^'"] )
不幸的是,在某些URL上,我在結尾處得到了額外的方括號 例如 "http://example.com]]"
因為結果是想收到 "http://example.com"
。我怎樣才能在我上面寫的重構函式的幫助下去掉這些方括號呢?
uj5u.com熱心網友回復:
你實際上擁有的是一個被否定的字符類,所以只要添加不應該被匹配的字符即可。此外,其實也不需要一個捕獲組。這就是說,你可以使用
http[^'"] []
# ^^^^
注意,這將排除方括號在你可能的url中的任何地方,而不僅僅是在最后。請看regex101.com上的演示.
。uj5u.com熱心網友回復:
停止一個單詞和非單詞字符之間的匹配:
(http[^'"] )b
參見regex證明。
解釋
--------------------------------------------------------------------------------
( 組 and捕獲到 1。
--------------------------------------------------------------------------------
http 'http'/span>
--------------------------------------------------------------------------------
[^'"] 任何字符,除了:''','"'(1 or)。
更多的次數(匹配最多的
可能的))。)
--------------------------------------------------------------------------------
) 1結束
--------------------------------------------------------------------------------
字符(w)和之間的界限。
不是字符的東西
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/323775.html
標籤:
下一篇:匹配不含斜線的字串的反語法
