Regexp:如何在没有转义字符之前匹配char?

时间:2016-12-23 19:08:57

标签: javascript php regex

好吧,我有一个像a:b:c:d:2\:3这样的字符串。

所以,我希望匹配:PCRE Regexp的所有冒号(Javascript)。

预期结果为4冒号:[':', ':', ':', ':']

colon分割的示例结果:

PHP

Array('a', 'b', 'c', 'd', '2:3')

的Javascript

['a', 'b', 'c', 'd', '2:3']

unescaped colon的结果匹配示例:

PHP

Array(':', ':', ':', ':')

的Javascript

[':', ':', ':', ':']

由于

1 个答案:

答案 0 :(得分:1)

您可以使用负面的lookbehind来确保:前面没有反斜杠。

(?<!\\):

演示:https://regex101.com/r/IVtDSC/1

PHP:

preg_match_all('/(?<!\\\):/', 'a:b:c:d:2\\:3', $matches);
print_r($matches);

演示:https://eval.in/703687