"^[0-9]+.+[0-9]$"(R) の意味

"^[0-9]+.+[0-9]$"(R) の意味

(これがRプログラミングです)

次のサンプルの質問を参照できます。

dates <- c("12/15/10", "12-2012", "12.2014", "1995")
grep(pattern = "^[0-9]+.+[0-9]$", x = dates) 

助けてくれてありがとう! !

答え1

これパスワードこの質問はどの言語で書かれているのか分からないので意味がありません。

正規表現は、^[0-9]+.+[0-9]$行の先頭の1つ以上の数字、その後に1つ以上の他の文字(数字を含めることができます)、および行の最後の最後の数字と一致するPOSIX拡張正規表現です。

式のコンポーネントは次のとおりです。

  • ^、式を行の先頭に固定します。
  • [0-9]+はセット内の1つ以上の文字(0-9数字)と一致します。
  • .+、すべてのタイプの文字のうちの1つ以上と一致します。
  • [0-9]、これは単一の数字と一致します。
  • $、式を行末に固定します。

この式に一致する最短行の例:

1a1

質問コードで見た日付のすべての例は、さらに式に一致します。以下は、式のどの部分がsed文字列のどの部分と一致(使用)するかを示しています。

$ printf '%s\n' "12/15/10" "12-2012" "12.2014" "1995" | sed -E 's/^([0-9]+)(.+)([0-9])$/(\1)(\2)(\3)/'
(12)(/15/1)(0)
(12)(-201)(2)
(12)(.201)(4)
(19)(9)(5)

関連情報