[英]JavaScript REGEX negative look ahead confusion
好的,我使用JavaScript處理了一些行,並希望使用否定的前瞻來消除該行(如果其中包含特定短語),但是我仍然似乎抓住了這些行,而regexbuddy卻發現其他行與之匹配,我不確定為什么
^This (\w+) (\w+) was built in (\d+). (.+?).(?! This car has a salvage title.)$
因此,我需要獲取一些不同的第二句值,以使其與(。+?)相匹配。 我不想要的是如果該行包含對打撈標題的引用
所以
This Honda Accord was built in 1986. This car has 3 accidents. This car has a salvage title.
不匹配,因為負面的展望應該失敗
但
This Honda Accord was built in 1986. This car has 3 accidents.
應該匹配,但我都匹配。 我是只是誤解了未來的消極面貌還是在錯誤格式化?
…(?! This car has a salvage title.)$
您已將否定的lookahead放在字符串末尾之前。 它永遠不會在那里匹配(即成功)。 畢竟這是一個先行,而不是向后看,在字符串末尾窺視是沒有意義的。
您可能想這樣做:
^This (\w+) (\w+) was built in (\d+)\. (?!This car has a salvage title)(.+?)\.$
在此, (?!This car has a salvage title)(.+?)
與點之前的句子(精確地,至少一個字符)匹配,該句子不以短語“這輛車具有打撈標題”開頭。 或者,如果您不想在第一句話后的任何地方使用該短語,請使用
^This (\w+) (\w+) was built in (\d+)\. (?!.*?This car has a salvage title)(.+?)\.$
// ^^^
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.