要求是建立一个Java正则表达式来让所有的字符不包括管和结肠时没有逃逸什么是正则表达式失败时,字符串有管道和冒号字符没有逃脱?
|------|-----------------|
|Input | Expected output |
|------|-----------------|
|aaaaa | pass |
|------|-----------------|
|aaa: | fail |
|------|-----------------|
|aaa| | fail |
|------|-----------------|
|aaa: | pass |
|------|-----------------|
|: | fail |
|------|-----------------|
|\: | pass |
|------|-----------------|
|\\: | fail |
|------|-----------------|
|\\\: | pass |
|------|-----------------|
|\\\\ | pass |
|------|-----------------|
Tried following just for colon use-case - "(?<!\\)(\\\\)*\:"
如果行为是
- 正确失败的前面“:”和结肠通过偶数开头背面 斜线
正确地传递结肠由奇数的前面反斜线
错误地传递的 “AAA:AAA”
为什么第四个('aaa:')通过,第二个(也是'aaa:')是否失败? – Andreas