正確な単語に一致する正規表現が必要です。
例えば:
という文字列があっ"draft guidance allerg Excellence"
て検索したいallerg
ので書き\ballerg\b
ました。それは私に完全に一致します。しかし、string を渡すと"draft guidance 12=allerg Excellence"
true も返されますが、これは間違っています。
完全一致の単語のみを一致させるには、どの正規表現が必要ですか?
;\b
の場合でも、通常、境界はこの状況を処理します。"draft guidance 12=allerg Excellence"
ただし、the は単語の一部であると言っています=
(通常の英語では、これは当てはまりません)。
「単語全体」とは、スペースまたは通常の文の句読点で囲まれた単語を意味すると思います。この場合、次のような正規表現が機能するはずです。
(?:^|[\s\.;\?\!,])allerg(?:$|[\s\.;\?\!,])
もちろん、必要に応じて文字を追加または削除できます。
正規表現の説明:
(?: # non-matching group
^ # beginning of string
| [\s\.;\?\!,] # OR a space, period, and other misc. punctuation
)
allerg # string to match
(?: # non-matching group
$ # end of string
| [\s\.;\?\!,] # OR a space, period, and other misc. punctuation
)
私が質問を正しく理解した場合、「アレルギー」という単語に一致させたいと思います。単語は空白文字で囲まれており、「=allerg」には一致させたくない「=」文字が含まれています。
「アレルギー」という単語に一致させるには、次の正規表現を使用できます。
\s+allerg\s+