我有這樣的正則表達式逃離逗號
(?i)\b((?:https?://|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»「」‘’]))
,但我在使用逗號麻煩。像這樣跳出逗號\,
不能解決問題。我能做些什麼來使這個正則表達式工作?
我的代碼:
if (preg_match("/(?i)\b((?:https?:\/\/|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»「」‘’]))/", "https://google.com/picture.jpeg")) {
echo "A match was found.";
} else {
echo "A match was not found.";
}
在此先感謝。
你至少應該說明你想要做你的正則表達式,也許你的正則表達式本身是錯誤的。你可能也想給我們一些例子,說明什麼應該起作用,什麼不應該起作用。轉義你3'/''使它適用於我:https://regex101.com/r/yQ1oG8/1 – DarkMukke
我看到問題是運行正則表達式。有兩個問題:1)代碼不能編譯,或者2)在轉義雙引號後,沒有匹配被返回,對吧? –