使字符在正则表达式中可选
我正在尝试验证一个(美国)电话号码,其中没有多余的字符。所以格式是1-555-555-5555,没有破折号,空格等,1是可选的。但是,我的正则表达式只会除了前导1的数字,并说没有正则的数字是无效的。以下是我使用的东西,我哪里出错了?
"^(1)\\d{10}$"
我正在尝试验证一个(美国)电话号码,其中没有多余的字符。所以格式是1-555-555-5555,没有破折号,空格等,1是可选的。但是,我的正则表达式只会除了前导1的数字,并说没有正则的数字是无效的。以下是我使用的东西,我哪里出错了?
"^(1)\\d{10}$"
用:
"^1?\\d{10}$"
这?表示“可选”。
您尚未执行任何操作来使 1 成为可选项。你已经把它放在一个组中,但仅此而已。你想要这个:
"^1?\\d{10}$"
这基本上说要匹配(按此顺序):
有关更多详细信息,请查看模式
的文档。例如,在“贪婪量词”部分中列出,如下所示:?
X?X,一次或根本不