ユーザー定義トークンのセットで正規表現を実行する必要があります。
たとえば、次のような文字列があります:
TOK3 TOK1 TOK2 TOK2 TOK4 TOK3
// example string
そして、次のような正規表現を使用します:
(TOK1|TOK2)+
// regexp
一連のトークンをキャプチャしたいと思います:TOK1 TOK2 TOK2
私の例の文字列で。
現在、正規表現は通常、一連の文字で機能するため、トークンが文字ではなく文字列であるという意味で、私の問題は少し異なります。私のトークンは、2 つ以上の文字で構成されている可能性があります。さらに、私のソフトウェアは、例の正規表現が位置 (1, 4) の文字列と一致することを検出できるはずです。
とりあえず、各トークンを ASCII アルファベットの char にマッピングし、スペースを削除した後に正規表現を実行することで問題を解決しました。
しかし、私はこの解決策に完全に満足しているわけではなく、より良い解決策があるかどうか疑問に思っていました. ありがとう!
編集
正規表現内のスペースは、トークンを区切るためにのみ必要です。トークン間にスペースが必須であるという意味ではありません。