我有一個非常具體的需求集定義我想匹配該字符串,我有以下工作正則表達式:如何匹配不包含某個單詞的特定字符串?
/^#\s*([-a-zA-Z]+)(?=\s|$)/
這符合:「#關鍵字」 ...除了:「#靜態關鍵字'
對於我最後的情況,我想忽略一個字符串,如果它包含單詞:「靜態」..我做了很多挖掘,我無法弄清楚這一個。 以下是我最好的嘗試:
/^#\s*(?!Static)([-a-zA-Z]+)(?=\s|$)/
然而,好像我是從溶液中遠遠遠。
我有一個非常具體的需求集定義我想匹配該字符串,我有以下工作正則表達式:如何匹配不包含某個單詞的特定字符串?
/^#\s*([-a-zA-Z]+)(?=\s|$)/
這符合:「#關鍵字」 ...除了:「#靜態關鍵字'
對於我最後的情況,我想忽略一個字符串,如果它包含單詞:「靜態」..我做了很多挖掘,我無法弄清楚這一個。 以下是我最好的嘗試:
/^#\s*(?!Static)([-a-zA-Z]+)(?=\s|$)/
然而,好像我是從溶液中遠遠遠。
你需要尋找Static
的不僅僅是#
和空白之後更多的地方:
/^#\s*(?!.*Static)([-a-zA-Z]+)(?=\s|$)/
順便說一句,你可能想用\b
(一word boundary anchor,一個字母詞後匹配),以取代(?=\s|$)
。如果標點符號或除空白以外的內容都會分隔您匹配的單詞,那麼它也會匹配。
您可以使用此:
/^(?>[^S]++|S++(?!tatic\b))+$/
或者這允許 「靜電」:
/^(?>[^S]++|\BS++|\bS(?!tatic\b))+$/
@ m.buettner:對。我以前有過'。*',那麼我認爲他可能只想看看第一個「單詞」 - 但這也沒什麼意義,所以我回到了'。*'。 –