我知道已经提出了几个类似的问题。但是不能用正则表达式解决这个问题。
我有这样的句子
Lorem存有http://stack.com的文本http://stack.com/wp-admin印刷排版行业。
我想缓存单词“stack.com”而不是stack.com/wp-admin
我尝试了几个正则表达式,但它不起作用。
^(?!stack.com$).*
在^(?!stack.com$).*
正则表达式不以启动任何字符串(即使是空的)相匹配stack.com
。
要匹配stack.com
但不匹配inside stack.com/wp-admin
,您需要一个负面的前瞻:
/stack\.com(?!\/wp-admin)/
^^^^^^^^^^^^^
或者更好的是,单词边界只匹配整个单词:
/\bstack\.com\b(?!\/wp-admin)/
查看正则表达式演示
详情:
\b
- 前导词边界stack\.com
- 一个文字字符串stack.com
(一个点必须被转义)\b
- 尾随词边界(?!\/wp-admin)
- 如果/wp-admin
在当前位置的右侧,则匹配失败的负前瞻。本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句