簡體   English   中英

Perl正則表達式僅在兩種模式都沒有時才匹配

[英]Perl regex to match only if not followed by both patterns

我正在嘗試編寫模式匹配,以僅在字符串不跟隨以下兩個模式時才匹配。 現在,我有一個已嘗試操縱的模式,但似乎無法使其正確匹配。

當前模式:

/(address|alias|parents|members|notes|host|name)(?!(\t{5}|\S+))/

我試圖匹配的字符串間距不正確,但是如果它是一個較大的單詞的一部分則不匹配。

例如,我希望它匹配,

host \t{4} something

但不是,

hostgroup \t{5} something

在上面的示例中,它將匹配主機組並最終將其分成兩個單獨的單詞“主機”和“組”

比賽:

notes \t{4} something

但不是,

notes_url \t{5} something

使用我的模式,最終變成:

notes \t{5} _url

希望這更有意義。

我根本不清楚您想要什么,但是單詞邊界可能會滿足您的要求。

這對您有用嗎?

/\b(address|alias|parents|members|notes|host|name)\b(?!\t{5})/

更新資料

更好地了解了您的問題之后,這是否可以滿足您的要求?

/\b(address|alias|parents|members|notes|host|name)\b(?!\t{5}(?!\t))/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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