2017-05-03 6 views
1

"U.S.A"を検索したいそれが文字列全体の単語であれば(引用符なしの)私はRegExp特殊文字を含む単語境界(。)javascript

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

しかし、妙に動作するものがあるを使用してみました

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

だから、良い文字列が

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

悪い文字列であるべきである - (しかし、それは他のために失敗しました国などは役に立たない)

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

これはドキュメントからの私の理解の反対で、これを検索して同様の問題がたくさんありますが、どれも問題を理解するのに役立ちませんでした。私は最後の "。"と思う\ bによって消費されているため動作しませんが、まだ混乱しています。

誰かが説明と正しい検索文字列でお手伝いできますか?また、特殊文字なしで他の文字列を適切に単語検索する必要があります。

+0

をチェックしてください - これは何でしょうか? https://regex101.com/r/YKa7OM/2 – 0m3r

+1

@ 0m3r - ありがとうございますが、それはU.S.A.daddyとdaddyU.S.Aと一致します。それは望ましくない。 – shirishc

答えて

1

最初に(作業中の)作業境界を確認できますが、.のために境界線を使用できない部分は最後です。しかし、あなたの代わりに末尾に空白文字を確認することができます。

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

は改訂Regex101

+0

作品....ありがとうございました。 /\ b(u \ .s \ .a \。)(?:()を使用して、end =>という単語を特定するために、あらゆる種類の特殊文字を入れなければならないので、 \ s | $ | \。| \?)))/ gi この戦いを解き放ち、当分の間戦争に移りますが、 – shirishc

+0

@shirishcを再訪します。「文字でも番号でもない」終わり? '\ b(u \ .s \ .a \。)(?:\ s | $ | [^ \ w])' [この例を参照](https://regex101.com/r/9TVuPn/5 ) – KevBot

+0

確かに多くのクリーナー。ありがとう。どういうわけか私はいつも人生のすべてでNOT使用を逃すように見えます! – shirishc

関連する問題