簡體   English   中英

帶有特殊字符 (.) javascript 的 RegExp 字邊界

[英]RegExp word boundary with special characters (.) javascript

我想找到“USA”(不帶引號),如果它作為一個完整的詞在一個字符串中。

所以好的弦應該是

U.S.A.
u.s.a.
U.S.A. is a great country
Is this U.S.A. ?

壞字符串是

U.S.A.mnop
U.S.A

我嘗試使用

/\bU\.S\.A\.\b/i

但奇怪的是,有效的方法是 - (但它對其他國家無效,因此沒有用)

/\bU\.S\.A\.\B/i

這似乎與我對文檔的理解相反,並且已經搜索了這個並且有很多類似的問題,但沒有一個幫助我理解這個問題。 我認為最后一個“。” 正在被 \\b 消耗,因此無法正常工作,但我仍然感到困惑。

有人可以幫忙解釋和正確的搜索字符串嗎? 它還應該對沒有特殊字符的其他字符串進行適當的單詞搜索。

您可以首先檢查單詞邊界(正如您所做的那樣),但棘手的部分是在最后您不能使用單詞邊界,因為. . 但是,您可以在末尾檢查空格字符:

/\b(u\.s\.a\.)(?:\s|$)/gi

查看Regex101

暫無
暫無

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

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