この質問は適切であると思います。私はそれがすべての一致の位置や長さを返しますgregexpr使用する場合一方で、それは、私の最初の試合の位置(および長さ)を返しregExprの使用している場合はregexprとの最後のマッチの位置を見つけよう
> x <- "ABCDDDDDABC"
:私はのような文字列を持っている場合
。
> regexpr("ABC",x)
[1] 1
attr(,"match.length")
[1] 3
attr(,"useBytes")
[1] TRUE
> gregexpr("ABC",x)
[[1]]
[1] 1 9
attr(,"match.length")
[1] 3 3
attr(,"useBytes")
[1] TRUE
私がやりたいことは、最後のABCの位置を見つけることだけです。私はその前に気にしません。最後ABCの位置を返す
[1] 9
attr(,"match.length")
[1] 3
attr(,"useBytes")
[1] TRUE
: 私の所望の出力がなければなりません。これを行うための簡単な方法はありますか、私が気づいていないワイルドカードを使用しているのでしょうか?私はフォーラムとオンラインで見てきましたが、私は普遍的な解決策を見つけることができません。
重要:この特定の文字列のABC周辺のコンテキストを考慮した正規表現は必要ありません。私は私にそれを養うかもしれないすべての文字列の最後のABCの位置を私に与える何かをしたい。
から便利な機能を使用することができます 'テール(gregexpr( "ABC"、x)は[[1]]、1)' –