2

私は検索エンジンに取り組んでおり、ユーザーが結果を年でフィルタリングできるようにする必要があります。ユーザーが検索文字列のどこにでも「year:(4桁)」を追加できるようにしたいと思います。私はこれを作成しましたが、それは私が望むものではありません:

(year\:\d{4})

それは確かに私が必要とするものと一致しますが、空白が存在するか、その横に何もない場合にのみ一致させたいと思います。今のところ、単語の途中でも一致します。

例:

testyear:2012test - Don't want match
test year:2012test - Don't want match
test year:2012 test - DO want match
test year:2012 - DO want match

何か案は?

4

2 に答える 2

3

単語境界を使用できます。

\b(year:\d{4})\b
于 2012-10-06T07:38:08.893 に答える
2

以下の正規表現を使用します。

\byear:\d{4}\b

\b単語境界に一致します

于 2012-10-06T07:37:46.910 に答える