0

次の文字列を見てみましょう。

x <- " hello world"

最初の単語を抽出したいと思います。^\\W*([a-zA-Z]+).*そのために、最初のグループへの後方参照を含む次の正規表現を使用しています。

> gsub("^\\W*([a-zA-Z]+).*", "\\1", x)
[1] "hello"

期待どおりに動作します。

それでは、文字列に数字とアンダースコアを追加しましょう。

x <- " 0_hello world"

新しい文字に一致するよう\\Wに置き換えます。[\\W_0-9]

> gsub("^[\\W_0-9]*([a-zA-Z]+).*", "\\1", x)
[1] " 0_hello world"

今はうまくいかず、その理由がわかりません。\\W中に入れるときに問題が発生するようですが、[]理由はわかりません。ただし、正規表現は、PCRE を使用したオンライン正規表現テスターで動作します。

私は何を間違っていますか?

4

1 に答える 1