Java和C#正则表达式兼容吗?

Java和C#正则表达式兼容吗?,第1张

Java和C#正则表达式兼容吗?

有很多差异。

角色类
  1. 人物类减法
    [abc-[cde]]
    • .NET 是(2.0)
    • Java的:通过字符类交集和否定仿真的:
      [abc&&[^cde]]
  2. 人物类交集
    [abc&&[cde]]
    • .NET:通过字符类减法和否定的仿:
      [abc-[^cde]]
    • Java
  3. p{Alpha}
    POSIX字符类
    • .NET
    • Java 是(US-ASCII)
  4. (?x)
    模式
    COMMENTS
    /下
    IgnorePatternWhitespace
    ,字符类中的空格(U + 0020) 有效
    • .NET
    • Java
  5. Unipre类别(L,M,N,P,S,Z,C)
    • .NET
      p{L}
      仅表单
    • Java 是的
    • 从Java 5: ,,
      pL``p{L}``p{IsL}
    • 从Java 7
      p{general_category=L}
      p{gc=L}
  6. Unipre类别(Lu,Ll,Lt等)
    • .NET
      p{Lu}
      仅表单
    • Java 是的
    • 从Java 5
      p{Lu}
      p{IsLu}
    • 从Java 7
      p{general_category=Lu}
      p{gc=Lu}
  7. Unipre块
    • .NET
      p{IsBasicLatin}
      仅。(支持的命名块)
    • Java :(块名称为自由套管)
    • 从Java 5:
      p{InBasicLatin}
    • 从Java 7
      p{block=BasicLatin}
      p{blk=BasicLatin}
  8. 所有长块名中都允许使用空格和下划线(例如,
    BasicLatin
    可以写为
    Basic_Latin
    Basic Latin
    • .NET
    • Java (Java 5)
量词
  1. ?+
    *+
    ++
    {m,n}+
    (所有格量词)
    • .NET
    • Java
报价单
  1. Q...E
    转义一串元字符
    • .NET
    • Java
  2. Q...E
    转义字符串的字符类元字符(在字符集中)
    • .NET
    • Java
匹配结构
  1. 有条件的匹配
    (?(?=regex)then|else)
    (?(regex)then|else)
    (?(1)then|else)
    或者
    (?(group)then|else)
    • .NET
    • Java
  2. 命名捕获组和命名后向引用
    • .NET
    • 捕获组:
      (?<name>regex)
      (?'name'regex)
    • 后向引用:
      k<name>
      k'name'
    • Java (Java 7):
    • 捕获组:
      (?<name>regex)
    • 向后引用:
      k<name>
  3. 多个捕获组可以具有相同的名称
    • .NET
    • Java NO (Java 7)
  4. 平衡组定义
    (?<name1-name2>regex)
    (?'name1-name2'subexpression)
    • .NET
    • Java
断言
  1. (?<=text)
    (正向后看)
    • .NET 可变宽度
    • Java 明显宽度
  2. (?<!text)
    (负向后看)
    • .NET 可变宽度
    • Java 明显宽度
模式选项/标志
  1. ExplicitCapture
    选项
    (?n)
    • .NET
    • Java
  1. (?#comment)
    内联评论
    • .NET
    • Java
参考文献
  • regular-expressions.info-不同正则表达式风味的比较
  • MSDN库参考-.NET framework 4.5-正则表达式语言
  • 模式(Java Platform SE 7)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5560506.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-14
下一篇 2022-12-14

发表评论

登录后才能评论

评论列表(0条)

保存