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