0

デリミタ間の指定された一連のキーワードと正確に一致するように正規表現を試みていますか?

例えば:

キーワード: keyone、keytwo、keythree 開始区切り文字: ; 終了区切り文字: ;

テスト対象のテキスト: いくつかのテキスト;keyone; その他のテキスト ;keytwo; いくつかのテキスト;keythreeeeee;

私が試した正規表現:;([keyonekeytwokeythree]+);

この正規表現の問題は、これが keythreeeeee とも一致することです。これは完全一致ではないため、keythreeeeee と一致しないはずです。

4

3 に答える 3

2

正規表現の構文について読む必要があります。

([keyonekeytwokeythree]+)

角括弧構文は、正規表現マッチャーに「セットからの任意の数の文字」と一致するように指示しますkeyonekeytwokeythree。したがって、 にも一致しyekenoeerthます。

あなたは次のようなものを探しています:

;(keyone|keytwo|keythree);
于 2013-06-05T09:22:53.747 に答える
1

次のような正規表現を使用する必要があります。

;(keyone|keytwo|keythree);
于 2013-06-05T09:22:21.207 に答える
0

最初に、区切り文字内のすべてのテキストを取得します。

     (delmiterSart)(.)*(delimiterEnd)

そして、この選択されたテキストで、あなたの単語を検索しようとします

     (key1|key2|keyn)+
于 2013-06-05T09:42:33.697 に答える