我只想捕捉nbnbaasd<sd
中出现在任何a
之前的字符串部分。
我希望它返回nbnb
作为匹配。
/.+(?!a)/.match("nbnbaasd<sd") # returns the whole string
答案 0 :(得分:5)
答案 1 :(得分:1)
它返回整个字符串,因为实际上,“nbnbaasd&lt; sd”不是后跟“a”。
试试这个。
/.+?(?=a)/.match("nbnbaasd<sd")
(你实际上并不需要使用前瞻来实现这一目标,但也许你已经简化了你的问题,并且在你真正的问题中你出于某种原因需要零宽度断言。所以这是一个接近的解决方案可能是你尝试过的那个。)