我的书“用Python实现无聊的自动化”有一个复杂的正则表达式,它试图以给定的字符串获取电话号码:
((\d{3}|\(\d{3}\))?(\s|-|\.)?\d{3}(\s|-|\.)\d{4}(\s(ext|x|ext.)\s*\d{2,5})?)
222-66-7777分机322是我认为应该与regex匹配的电话号码,但它不匹配。我正在使用regex101,这是指向regex:https://regex101.com/r/OIMqNB/1的链接。有人能告诉我我哪里出了问题吗?
发布于 2017-08-06 04:08:53
这个regex是正确的,您刚刚添加了一个新行,它将正则表达式分成两个片段:
((\d{3}|\(\d{3}\))?(\s|-|\.)?\d{3}(\s|-|\.)\d{4}
(\s*(ext|x|ext.)\s*\d{2,5})?)只需在{4}之后点击canc并将其放在regex101链接的同一行上,您就会看到它按预期工作。
((\d{3}|\(\d{3}\))?(\s|-|\.)?\d{3}(\s|-|\.)\d{4}(\s*(ext|x|ext.)\s*\d{2,5})?)这是一个常见的错误,当你看到一些奇怪的行为时,只要重复检查你的正则表达式在同一条线上就可以了。
发布于 2017-08-06 04:17:32
我已经帮你修好了,你刚刚把一个?弄乱了。下面是新的regex:https://regex101.com/r/OIMqNB/2
https://stackoverflow.com/questions/45528407
复制相似问题