【发布时间】:2017-08-04 03:27:27
【问题描述】:
如何找到之前没有特定字符的所有单词?
例如,如果我想匹配所有apple,它前面没有任何字符b,我该怎么办?
海豚大象苹果星 狗 猫 苹果 香蕉 map banana apple dog apple 之前有一个
b)
地图 apple 香蕉 apple cat apple 匹配,但第二个不匹配。
地图 apple 香蕉 apple 香蕉 apple apple 匹配,其他不匹配。
地图 apple 狗 apple 香蕉 apple 香蕉 apple apple 和第二个apple匹配,其他不匹配。
这是我的尝试:
/(?<!.*b.*)apple/g
当然,上面的正则表达式是无效的,因为后面的量词(在这种情况下是星号)使其宽度不固定。那么我该如何解决这个问题呢?
【问题讨论】:
-
/^[^b]*apple/? -
哦,我忘了说
apple这个词可以匹配多次。 -
你使用什么编程语言?
-
Javascript。但我希望我只能使用正则表达式来找到那个词。
-
那么你的第一个问题是JavaScript不支持look-behind,而不是它的可变宽度。
标签: javascript regex