簡體   English   中英

正則表達式單詞匹配

[英]Regular Expression word matching

我正在嘗試使用\\b匹配字符串中的單詞

例如

我想在字符串xyz abcde dddxyz abcde.html ddd匹配單詞abcde 我正在使用正則表達式\\babcde\\b ,我想要的是僅匹配第一個字符串而不匹配第二個字符串,因為它包含abcde.html 但是此正則表達式與它們都匹配。

如何獲得想要的結果?

您可以使用負數abcde以避免匹配任何abcde后跟句號和字母數字:

\babcde\b(?!\.\w+)

觀看演示

否定的(?!\\.\\w+)預檢查,但不假定是否存在句點和字母數字,如果存在,則不返回任何匹配項。 通過將\\w+替換為\\S+ (1個或多個非空白字符),可以使其更通用。

您也可以使用積極的前瞻性

\babcde\b(?=\s)

在這里演示

(?=\\s)babcde之后檢查任何空白字符[\\r\\n\\t\\f ]

\\ babcde(?=。*?\\ b)向前看是您所需要的。 我稍后將用一個測試鏈接來完成一個示例。

更新: http//refiddle.com/2ing

編輯:如果用“第二個字符串”表示“ .html”部分,則此答案有效。 但是,如果您要說的是“ xyz abcde.html ddd”的第二個字符串,那么stribizhev的答案正確。

暫無
暫無

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

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