簡體   English   中英

JavaScript REGEX負面展望

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM