“^[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]$是一种 POSIX 扩展正则表达式,它匹配行开头的一个或多个数字,后跟一个或多个其他字符(可能包括数字),以及行末尾的最后一个数字。

表达式的组成部分是:

  • ^,这会将表达式锚定到一行的开头。
  • [0-9]+,这至少匹配集合中的一个字符0-9,即数字。
  • .+,这至少匹配一个任何类型的字符。
  • [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)

相关内容