Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex SSN和税务ID组合_Regex - Fatal编程技术网

Regex SSN和税务ID组合

Regex SSN和税务ID组合,regex,Regex,我需要一个正则表达式,它可以同时满足SSN和Tax ID。它可以占用空格甚至连字符 以下是有效的格式: 12-3456789 123456789 123456789 123-45-6789 有人能帮你吗?你可以这样使用:\d{2,3}[-]?\d{2}[-]?\d{4,5} 在这里进行测试: 我对“有效”字符串的解释归结为两种不同的模式,它们可以使用-、空白字符或完全不使用任何字符作为分隔符。此模式确保当分隔符被多次使用时,它通过使用\k{}标记在两个实例之间匹配: ^\d{2}[-\s]?\d

我需要一个正则表达式,它可以同时满足SSN和Tax ID。它可以占用空格甚至连字符

以下是有效的格式:

  • 12-3456789
  • 123456789
  • 123456789
  • 123-45-6789

  • 有人能帮你吗?

    你可以这样使用:
    \d{2,3}[-]?\d{2}[-]?\d{4,5}

    在这里进行测试:

    我对“有效”字符串的解释归结为两种不同的模式,它们可以使用
    -
    、空白字符或完全不使用任何字符作为分隔符。此模式确保当分隔符被多次使用时,它通过使用
    \k{}
    标记在两个实例之间匹配:

    ^\d{2}[-\s]?\d{7}$|\d{3}(?<sep>[-\s])\d{2}\k<sep>\d{4}
    
    ^\d{2}[-\s]?\d{7}$\d{3}(?[-\s])\d{2}\k\d{4}
    


    请注意,
    \k
    仅在中受支持(链接答案有点过时,但仍然是研究的有用起点)。我假设您使用的是受支持的引擎,因为您没有具体提到您使用的语言/引擎。

    我仍然认为这不符合OP的要求,因为它允许像
    12 34-5678这样的字符串,这在OPs规范Esqew中是无效的,我当时急于测试正则表达式,没有看完你的全部答案。我正在使用javascript测试这个正则表达式,并更新正则表达式以转义123-456-7890和123-456 7890模式的“\k”中断模式。有其他选择吗?@aspnetbeginner245为了解决这个问题,你自己做过研究吗?是的。唯一的区别是它在语法上略有不同(
    \k
    \k{sep}
    );请参阅我的更新。