Java的Regex.Pattern支持以下字符类:
[a-z&&[def]]
Run Code Online (Sandbox Code Playgroud)
它与"d,e或f"匹配,称为交集.
在功能上,这与以下内容没有区别:
[def]
Run Code Online (Sandbox Code Playgroud)
这在大型RE中更易于阅读和理解.所以我的问题是,除了在字符类上指定对类似CSG的操作的完全支持之外,交叉点有什么用?
(请注意,我理解像减法的效用[a-z&&[^bc]]和[a-z&&[^m-p]],我对交叉口专门询问如上介绍.)
尽管我从未需要这样做,但我可以想象使用预定义的字符类,这些字符类不是彼此的正确子集(从而使交集产生与原始两个字符类不同的东西)。例如仅匹配小写拉丁字符:
[\p{Ll}&&\p{InBasicLatin}]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
639 次 |
| 最近记录: |