我正在使用online regex tester来测试我的正则表达式。空白的负向预测
我试图做一个正则表达式匹配一个URL(这意味着它开始与http://
。不要担心http://s
因为我有检查每个单独的数组。http://
不会被硬编码。到表达这将是一个变量字符串
因此,这是正则表达式我到目前为止:
/http:\/\/.+(?!\s+)/g
它应该匹配http://
,那么任何字符,直到灾害的表现空白。
例如(灰色是什么亦宜):
http://example.com/foo
是我最喜欢的网站和http://192.168.0.1
是我的网关IP。
但是,整个字符串与该正则表达式匹配。
负面看,(?!\s+)
,这是我认为我应该关心的。我期待它匹配,直到它遇到空白。如果我使用这个负面预测:(?!$)
,它将匹配除了行末的最后一个字符以外的所有内容,如预期的那样。
为什么(?!$)
按预期工作,但不是(?!\s+)
?
没有'g'?该网站使用它,它的工作原理。好吧。这工作,我明白了。 –
由于新的分隔符,对于紧凑和易于在眼睛+1 :) – zx81