【发布时间】:2019-02-03 18:57:57
【问题描述】:
我有一个文件,其中包含以下格式的电话号码:
(xxx) xxx.xxxx
(xxx).xxx.xxxx
(xxx) xxx-xxxx
(xxx)-xxx-xxxx
xxx.xxx.xxxx
xxx-xxx-xxxx
xxx xxx-xxxx
xxx xxx.xxxx
我必须解析文件以获取那些格式的电话号码,并将它们输出到单独的文件中。我正在使用 perl,到目前为止,我认为其中两个数字是有效的正则表达式
my $phone_regex = qr/^(\d{3}\-)?(\(\d{3}\))?\d{3}\-\d{4}$/;
但我不确定这是否正确,或者如何在一个正则表达式中完成其余所有操作。谢谢!
【问题讨论】:
-
对于困难的正则表达式,定义子正则表达式可能会有所帮助,例如
$three_digits = qr/\d{3}/;然后将它们组合到您列为另一个子正则表达式的每个案例中,然后将这 8 个正则表达式组合到最终的正则表达式中。