c# - 将.net正则表达式转换为java @“(?<!\\)(?'M'[^ |%])”?

原文 标签 c# java .net regex

您能帮我理解以下.net正则表达式吗?

最佳答案

此正则表达式由两组组成。

第一个(?<!\\)是一个后向断言。仅当前一个字母不是反斜杠时,它才会匹配。第二个(?'M'[^|%])是一个命名的捕获组(称为M),与“ |”以外的任何字符匹配和“%”。

即正则表达式将匹配“ a”,而不匹配“ \ a”或“%”。

Java不支持命名捕获,但是

(?<!\\)([^|%])


应该适合您。您将按编号而不是按名称引用第一个组。

请注意,在第一部分中,您可能必须转义反斜杠以导致(?<!\\\\)

关于c# - 将.net正则表达式转换为java @“(?<!\\)(?'M'[^ |%])”?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5246407/

相关文章:

java - 如何在设定的时间运行方法?

java - 基于事件的网络

java - 数值稳定的方法来计算正常对数似然

c# - 如何从类型创建新的对象实例

.net - 由于无法关闭的 FileStream 导致应用程序崩溃

C# 开源项目命名空间

c# - 将数据从 XML 导入 SQL Server 表

c# - 如果设置了所有属性,如何进行单元测试。没有重复

c# - 无法将 'double' 转换为 'float' 但我没有使用 double

c# - Linq投影问题