我为正则表达式编写了代码,用于选择包含电话号码的行。我必须为一个电话号码创建一个表达式,但它可能-或者。在数字之间,它可能有也可能没有分数线。我不知道,也没有把它作为作业提交.我只是想知道它是怎么做的,因为我可能会在学期末的考试中得到它。
718-951-5000,718.951.5000,(718)-951-5000
我的代码
"(^(\([2-9]\\d{2}\)|[2-9]\\d{2})[- .]?\d{3}[- .]?\\d{4}$)|(^(\([2-9]\\d{2}\)|[2-9]\\d{2})[- .]?\d{3}[- .]?\\d{4}[xX]\\d{1,4}$)"
我的错误RETest1.java:4:错误:非法转义字符
"(^(\([2-9]\\d{2}\)|[2-9]\\d{2})[- .]?\\d{3}[- .]?\\d{4}$)|(^(\([2-9]\\d{2}\)|[2-9]\\d{2})[- .]?\\d{3}[- .]?\\d{4}[xX]\\d{1,4}$)"
^
发布于 2012-09-19 20:22:00
[- .]?\d{3}[- .]?
你忘了\d
上的第二次转义
应该是:"(^(\([2-9]\\d{2}\)|[2-9]\\d{2})[- .]?\\d{3}[- .]?\\d{4}$)|(^(\([2-9]\\d{2}\)|[2-9]\\d{2})[- .]?\\d{3}[- .]?\\d{4}[xX]\\d{1,4}$)"
发布于 2018-04-15 06:32:55
它可能不是最漂亮的,但这里有一个很有效的方法:
"^((\\([2-9]\\d{2}\\)|[2-9]\\d{2})(-\\d{3}-\\d{4}|\\.\\d{3}\\.\\d{4})([Xx] ?\\d{1,4})?)$"
https://stackoverflow.com/questions/12502278
复制相似问题