我正在尝试匹配英国银行排序代码(没什么复杂的,只有三对数字,可以用连字符分隔)。我想我可以尝试匹配第一个连字符,然后使用
我正在尝试匹配英国银行排序代码(没什么复杂的,只有三对数字,可以用连字符分隔)。我想我可以尝试匹配第一个连字符,然后使用反向引用来检查我匹配的值是否使用了连字符。
/^\d{2}(-)?\d{2}\1\d{2}$/
应该匹配
12-34-56
123456
但不反对
12-3456
1234-56
这很好,并且运行良好——在 JavaScript 中。
当我使用 PCRE 引擎(例如 PHP)时,正则表达式无法按预期匹配。我使用了不同的正则表达式来避免这种情况,但我仍然想知道发生了什么?
我可以使用一些内部黑魔法来 (*SKIP)(*FAIL)
使用可选的反向引用吗?