私は自動生成された正規表現を持っています。これは基本的に次のような1つの大きな「または」グループです。
(\bthe\b|\bcat\b|\bin\b|\bhat\.\b|\bhat\b)
私はその場合に気づきました
hat.
「帽子」ではなく、「帽子」のみに一致します。私が望むように。それをもっと貪欲にする方法はありますか?
更新:単語の境界を忘れてしまい、申し訳ありません。
正規表現のhat\.
前に置きます。hat
交互の最初の一致する式が勝ちます。hat
一致hat.
するため、hat\.
チェックされることはありません。
hat\.?
より良い方法は、その部分をではなくとして書くことですhat\.|hat
。これにより、期間がオプションになるため、交互に2つの用語を使用する必要はありません。
編集後:
.
と、たとえばスペースの間に単語の境界はありません(どちらも単語以外の文字です)。したがって、ピリオドの直後に別の文字が続く場合\bhat\.\b
にのみ一致します。hat.x
これは、たとえば文でhat
は、一致するものになることを意味します。しかし、あなたは解決策を見つけたようです。