我有这样的正则表达式逃离逗号
(?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)在转义双引号后,没有匹配被返回,对吧? –