【发布时间】:2021-07-05 12:38:35
【问题描述】:
您好,我想找到一个完成这两种格式的正则表达式:
(+00) 000 000 00 00
(+00) 000-000-00-00
我正在尝试这个(?:\+\s*\d{2}[\s-]*)?(?:\d[-\s]*){10}/,但它没有按我想要的方式工作,你能帮我吗?我正在使用 ruby,我正在使用 https://rubular.com/ 探索这个正则表达式。
【问题讨论】:
-
/\A\(\+\d{2}\) \d{3}([ -])\d{3}\1\d{2}\1\d{2}\z/? rubular.com/r/bRvOkb3sMEtGyE -
如果您不想反向引用捕获组,您可以使用
/\A\(\+\d{2}\) \d{3}(?: \d{3}(?: \d{2}){2}|-\d{3}(?:-\d{2}){2})\z/。 Ref. -
这个正则表达式有什么用?扫描文件?如果是输入验证,那么您应该从字符串中删除不是数字的任何内容。
标签: regex ruby regex-group