1

スペースで区切られた任意の長さのコードで構成されるテキストがあります。例:

AA *X IJ XYZ 7F *A OF *B 3C

最初のステップとして、最初の文字がアスタリスクであり、2番目の文字が3つの異なる選択肢の1つである2文字のすべてのコードを抽出したいと思います(たとえば、A、B、C)。したがって、このステップの後、この例では、一致のリストとして*Aとを使用し*Bます。

次の正規表現を使ってみました

\b(\*[ABC])\b

...しかしもちろん、アスタリスクは単語の一部とは見なされないため、これは機能しません。読みやすく、保守しやすい方法でこれを行うにはどうすればよいですか?

4

1 に答える 1

1

ポジティブルックビハインドを使用し、文字列の先頭またはスペース文字のいずれかに一致させます。

(<=^| )(\*[ABC])\b

ここで実際に見てください:http://regex101.com/r/wS5qS2


気になるのがキャプチャグループだけの場合は、後読みは必要ありません。キャプチャグループから除外してください。

(?:^| )(\*[ABC])\b
于 2013-01-31T00:55:27.047 に答える