簡體   English   中英

以特定單詞結尾的正則表達式

[英]Regex for ending with a specific word

我有以下正則表達式沙箱

https://regex101.com/r/5rcScT/4

當我使用\\w*-[Ff]iltered\\b它會得到我不想要的fff-filtered-qqnope-Filtered-ok 我只希望單詞特別以 -filtered 結尾。 比如this-filteredwow-Filtered

我在這里缺少什么?

您可以使用空白邊界(?!\\S)

\w*-[Ff]iltered(?!\S)

查看正則表達式演示

為確保在連字符前至少匹配 1 個字符字符,請將*替換為+

\w+-[Ff]iltered(?!\S)

(?!\\S)是一個否定前瞻,如果當前位置右側沒有非空白字符,則匹配失敗,即它匹配后面跟有空白或字符串結尾的位置(它等於到(?=\\s|$)正向前瞻,但由於沒有交替,效率更高)。

您可以使用帶有空格字符或行尾的更改(帶有/m標志):

/\w*-[Ff]iltered(\s|$)/m

演示

這將適用於沒有環顧斷言(awk、ERE 等)的正則表達式環境 如果您環顧四周,請使用 Wiktor Stribiżew 的答案。

你可以使用這個:

\w*Id\b

\\w*允許在Id前面有單詞字符,而\\b確保Id在單詞的末尾( \\b是單詞邊界斷言)。

暫無
暫無

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

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