[英]Regex to find certain phone numbers in a damaged file
管道两侧是否有空白? 如果是,则第一种情况实际上是 (+\d{2}.)\s ,它与任何格式都不匹配。
尝试找到可能的绝对最短的正则表达式将是愚蠢的差事。 以下应该没问题,因为没有格式似乎是另一种格式的扩展。
grep -Pao "(?:\+\d\d \d\d \d{7}|\+\d\d (\d\d) \d{5} \- \d\d|\+\d\d (\d)\d\d \d{5}\-\d\d|\+\d\d-\d\d\-\d{7}|\+\d\d \d\d \d{5}\-\d\d|\d{4} \d \d{6}|\d \d\d \/ \d\d \d\d \d\d|\d{8}\-\d\d)" kaputt.txt
它只是从所需格式的图像 (,) 中提取的文本,其中x
替换为\d
, -
替换为\-
, +
替换为\+
,并且每种格式替换由|
分隔 .
如果要跨行匹配,则需要-z
标志,并且每个空格都可以替换为,例如\s+
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.