你的匹配不够完整,我把所有情况穷举出来了,你所疑惑的就在第二个正则,第五种情况
第一个正则:awk -n '/^(?[0-9]{3})?[, ,.,-]/' phon
第1种:(000) 000
第2种:(000).000
第3种:(000)-000
第4种:(000 000
第5种:(000.000
第6种:(000-000
第7种:000) 000
第8种:000).000
第9种:000)-000
第10种:000 000
第11种:000.000
第12种:000-000
第二个正则:awk -n '/^(?[0-9]{3})?[), ,.,-]/' phon
第1种:(000))000
第2种:(000) 000
第3种:(000).000
第4种:(000)-000
第5种:(000)000 这里可以匹配 (317)555-1234 (234)345-789
第6种:(000 000
第7种:(000.000
第8种:(000-000
第9种: 000))000
第10种:000) 000
第11种:000).000
第12种:000)-000
第13种:000)000
第14种:000 000
第15种:000.000
第16种:000-000