首页 > 试题广场 >

以下正则表达式,能用来提取下面文字中的所有日期的是(&nbs

[单选题]

以下正则表达式,能用来提取下面文字中的所有日期的是( )

“The next meetup on data science will be held on 2017-09-21, previously it happened on 31/03, 2016”

  • \d{4}-\d{2}-\d{2}

  • (19|20)\d{2}-(0[1-9]|1[0-2])-[0-2][1-9]

  • (19|20)\d{2}-(0[1-9]|1[0-2])-([0-2][1-9]|3[0-1])

  • 都不能

(19|20)是一个正则表达式中的一个分组,用于匹配年份的前两位。(19|20)这个部分使用了括号和竖线|来创建一个分组,它表示可以匹配 "19" 或者 "20"。这是为了匹配年份的前两位。 
\d{2}是一个正则表达式的部分,用于匹配两位数字。\d:这是一个正则表达式中用于匹配数字的元字符。它等同于 [0-9],表示匹配任意一个数字字符。{2}:这是一个量词,指示前面的元字符(这里是 \d)需要连续匹配两次。所以,\d{2} 可以匹配任意两位数字。例如,它可以匹配 "01"、"23"、"45" 等。所以,例如 (19|20)\d{2}`就可以匹配从 1900 到 2099 年的年份。
(0[1-9]|1[0-2])这个部分同样使用了括号和竖线|来创建一个分组。它表示可以匹配从 "01" 到 "09" 或者从 "10" 到 "12" 的数字。这个表达式对应的是月份,因为月份是从 1 到 12,但是在正则表达式中,如果数字是个位数,通常会使用 0 开头,例如 "01"、"02" 等。所以 (0[1-9]|1[0-2])`可以匹配所有合法的月份表示。

发表于 2024-09-17 22:58:06 回复(0)
答案D
题目中两个时间格式最少应该是两个分支的正则,所以不正确
BC 可以匹配第一个时间格式,C 正则更完整一点
发表于 2021-01-20 22:43:31 回复(0)