包java.util.regex支持哪些标准
我想知道java支持哪些正则表达式标准。我所说的标准是指它是否支持IEEE POSIX BRE、ERE和SRE 有人能给我一些建议吗 提前感谢您的回复。来自Oracle的文章包含了有关Java SE 7中支持的正则表达式构造的大量信息,但没有提到支持哪种标准: 与Perl 5的比较 模式引擎执行基于NFA的传统匹配 Perl 5中出现的有序交替 此类不支持Perl构造:包java.util.regex支持哪些标准,java,regex,posix,posix-ere,Java,Regex,Posix,Posix Ere,我想知道java支持哪些正则表达式标准。我所说的标准是指它是否支持IEEE POSIX BRE、ERE和SRE 有人能给我一些建议吗 提前感谢您的回复。来自Oracle的文章包含了有关Java SE 7中支持的正则表达式构造的大量信息,但没有提到支持哪种标准: 与Perl 5的比较 模式引擎执行基于NFA的传统匹配 Perl 5中出现的有序交替 此类不支持Perl构造: 预定义字符类(Unicode字符) \h水平空白 \H非水平空白 \v垂直空白 \V非垂直空格 \R任何Unicode换行
- 预定义字符类(Unicode字符)
水平空白\h
非水平空白\H
垂直空白\v
非垂直空格\V
任何Unicode换行符序列\R
\u000D\u000A |[\u000A\u000B\u000C\u000D\u0085\u2028\u2029]
匹配Unicode扩展图形集群集\X
- 反向引用为第n个捕获组构造
,为命名捕获组构造\g{name}\g{n}
- 按名称命名的Unicode字符的命名字符结构,
\N{name}
- 条件结构
和(?(条件)X)
(?(条件)X | Y)
- 嵌入式代码构造
和(?{code})
(?{code})
- 嵌入的注释语法
,以及(?#comment)
- 预处理操作包括
、\l
、\u
和\l
\u
- 字符类并集和交集(如上所述)
- 在Perl中,
到\1
始终被解释为反向引用;大于9的反斜杠转义数被视为 如果至少存在那么多子表达式,则返回引用,否则返回 如果可能的话,它被解释为八进制逃逸。在这个班 八进制转义必须始终以零开头。在这个类中,\9
通过\1
始终被解释为反向引用,以及更大的 如果至少有这么多,则接受数字作为反向参考 子表达式存在于正则表达式的该点, 否则,解析器将删除数字,直到数字变小或变小 等于现有组数或为一位数\9
- Perl使用
标志请求一个匹配,该匹配将在最后一个匹配结束时继续。此功能由g
class:将继续重复调用find方法 最后一次匹配结束的位置,除非重新设置匹配器Matcher
- 在Perl中,表达式顶层的嵌入标志会影响整个表达式。在这个类中,嵌入的标志总是在 它们出现的点,无论它们是在顶层还是 在一个小组内;在后一种情况下,将在结束时恢复标志 该组与Perl中的相同