次のようなリストに複数の文字列があるとします。
[[1]]
[1] "1-FA-1-I2-1-I2-1-I2-1-EX-1-I2-1-I3-1-FA-1-"
[2] "-1-I2-1-TR-1-"
[3] "-1-I2-1-FA-1-I3-1-"
[4] "-1-FA-1-FA-1-NR-1-I3-1-I2-1-TR-1-"
[5] "-1-I2-1-"
[6] "-1-I2-1-FA-1-I2-1-"
[7] "-1-I3-1-FA-1-QU-1-"
[8] "-1-I2-1-I2-1-I2-1-NR-1-I2-1-I2-1-NR-1-"
[9] "-1-I2-1-"
[10] "-1-NR-1-I3-1-QU-1-I2-1-I3-1-QU-1-NR-1-I2-1-"
[11] "-1-NR-1-QU-1-QU-1-I2-1-"
正規表現を使用して、特定の部分文字列が別の部分文字列の前にある特定の文字列を検出したいのですが、必ずしも他の部分文字列の直前にあるとは限りません。
たとえば、FA
先行する を探しているとしましょうEX
。これは、リスト内で一致する必要があり1
ます。それ自体と の間に がFA
ありますが、は の前にまだ発生しているため、一致が期待されます。-1-I2-1-I2-1-I2-1-
EX
FA
EX
このように、特定の部分文字列が別の部分文字列の前に現れる文字列を識別する一般的な正規表現を定義するにはどうすればよいでしょうか?