0

正確な単語に一致する正規表現が必要です。

例えば:

という文字列があっ"draft guidance allerg Excellence"て検索したいallergので書き\ballerg\bました。それは私に完全に一致します。しかし、string を渡すと"draft guidance 12=allerg Excellence"true も返されますが、これは間違っています。

完全一致の単語のみを一致させるには、どの正規表現が必要ですか?

4

2 に答える 2

6

;\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
)
于 2012-07-26T04:56:33.483 に答える
-1

私が質問を正しく理解した場合、「アレルギー」という単語に一致させたいと思います。単語は空白文字で囲まれており、「=allerg」には一致させたくない「=」文字が含まれています。

「アレルギー」という単語に一致させるには、次の正規表現を使用できます。

\s+allerg\s+
于 2012-07-26T04:55:14.643 に答える