【发布时间】:2015-04-30 06:26:14
【问题描述】:
我有这个正则表达式来检查字符串的格式是否为 日期、两个或三个点、日期
/\A(\d{1,2}-\d{1,2}-\d{4})...?(\d{1,2}-\d{1,2}-\d{4})\z/
如你所见,日期匹配组\d{1,2}-\d{1,2}-\d{4}是重复的。
是否有一种 regex-native 或通用 ruby 编程方式将此组分配给一个变量,然后在 regex 中使用它,而不是在实际组中使用它,给我类似/\A<var>...?<var>\z/ 的东西?
谢谢!
【问题讨论】:
-
你的意思是这样的:stackoverflow.com/questions/2268421/… ?
-
那个太令人困惑了,Roney Michael 的回答涵盖了我所需要的。
-
在检查了他的答案后,我仍然认为这些是重复的。另外,您说两个或三个点,Roney Michael 使用
/\A(#{re1})...?(#{re1})\z/而不是/\A(#{re1})\.{2,3}(#{re1})\z/。.匹配任何字符,\.匹配文字句点。而且我不知道将单个速记字符类添加到字符类中(例如,[\w]+当\w+就足够了)。 -
我无法判断问题是否重复,但点部分是正确的-应该使用
\.{2,3}。