啊我在codelab中做正则表达式。它要求我“编写一个正则表达式,选择包含社会安全号码的行(纯九位数字形式,ddddddddd,或以标准方式用连字符分隔:ddd-dd-dddd)对于这个练习,你必须围绕你的带双引号的解决方案。”
我对其进行了编码,但它给了我错误提示“备注:问题:^\d{3}[-]?\d{2}[-]?\d{4}$ 接受:87231-6449”我该如何编码所以我会有 xxx-xx-xxxx
"^\\d{3}[- ]?\\d{2}[- ]?\\d{4}$"
啊我在codelab中做正则表达式。它要求我“编写一个正则表达式,选择包含社会安全号码的行(纯九位数字形式,ddddddddd,或以标准方式用连字符分隔:ddd-dd-dddd)对于这个练习,你必须围绕你的带双引号的解决方案。”
我对其进行了编码,但它给了我错误提示“备注:问题:^\d{3}[-]?\d{2}[-]?\d{4}$ 接受:87231-6449”我该如何编码所以我会有 xxx-xx-xxxx
"^\\d{3}[- ]?\\d{2}[- ]?\\d{4}$"
您当前的正则表达式^\d{3}[- ]?\d{2}[- ]?\d{4}$
允许连字符或空格任意出现或不出现在指定的位置。它不强制所有连字符/空格必须全部出现或全部不出现。
如果你只想接受上面2种格式的社保,那么你可以使用这个正则表达式:
^(\d{3}-\d{2}-\d{4}|\d{9})$
添加字符串转义序列后:
"^(\\d{3}-\\d{2}-\\d{4}|\\d{9})$"
^\d{3}-?\d{2}-?\d{4}$
:所有连字符都是可选的。(允许所有有或没有连字符的组合)
^(\d{3}-\d{2}-\d{4}|\d{9})$
: 只允许带连字符或不带连字符