正则表达式匹配没有前一个字符的字符

Goi*_*nas 1 java regex

我有以下字符串:

"location-string:location-string:location-C?:\string"

我想分成以下三个字符串:

location-string location-string location-C?:\string

使用String.split(正则表达式)时,正则表达式应该是什么?

基本上,我想分开冒号':'字符除了那些前面有'?'的字符 字符!

PM,提前谢谢.

Avi*_*Raj 6

你可以使用负面的lookbehind.它匹配前面没有的冒号?

(?<!\?):
Run Code Online (Sandbox Code Playgroud)

Java正则表达式会是,

"(?<!\\?):"
Run Code Online (Sandbox Code Playgroud)

DEMO