你能帮我理解/将以下.net正则表达式转换为java
@"(?<!\\)(?'M'[^|%])" ?
最佳答案
此正则表达式由两组组成。
第一个(?<!\\)
是一个回顾断言。仅当前一个字母不是反斜杠时才会匹配。第二个(?'M'[^|%])
是一个命名捕获组(称为 M),匹配除“|”之外的任何字符和“%”。
即正则表达式将匹配“a”,而不匹配“\a”或“%”。
Java不支持命名捕获,但是
(?<!\\)([^|%])
应该适合你。您可以按编号引用第一个组,而不是按名称。
请注意,您可能必须转义导致 (?<!\\\\)
的反斜杠对于第一部分。
关于c# - .net 正则表达式转换为 java @"(?<!\\)(?' M'[^|%])"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5246407/