Java Pattern.compile没有标志吗?
我在文档中找不到这个。我需要启用不区分大小写,但仅在特殊情况下Java Pattern.compile没有标志吗?,java,regex,Java,Regex,我在文档中找不到这个。我需要启用不区分大小写,但仅在特殊情况下 如何调用方法Pattern.compile(stringregex,int-flags),使其等效于Pattern.compile(stringregex)?我可以使用Pattern.compile(“我的正则表达式”,0)?是-模式。compile(foo)最终返回Pattern.compile(foo,0) 如果文档中真的这么说就好了,但我刚才看到的实现就是这样做的…是(第1021行和下面的内容): 而Pattern.compi
如何调用方法
Pattern.compile(stringregex,int-flags)
,使其等效于Pattern.compile(stringregex)
?我可以使用Pattern.compile(“我的正则表达式”,0)
?是-模式。compile(foo)
最终返回Pattern.compile(foo,0)
如果文档中真的这么说就好了,但我刚才看到的实现就是这样做的…是(第1021行和下面的内容):
而Pattern.compile(String regex,int flags)
的代码是:
public static Pattern compile(String regex, int flags) {
return new Pattern(regex, flags);
}
所以是的
我可以只使用Pattern.compile(“我的正则表达式”,0)
对。警察说
标志-匹配标志,一个位掩码,可能包括不区分大小写、多行、DOTALL、UNICODE大小写、CANON大小写、UNIX行、文字、UNICODE字符类和注释
0是不包含位的位掩码
我需要启用不区分大小写,但仅在特殊情况下 使用
模式
可以使用几种不同的类型
要对区分大小写进行更细粒度的控制,您可能需要自己进行大小写折叠或排序。请不要发布严重阻塞的代码。我们中的一些人可能希望有朝一日参与洁净室的工作。@MikeSamuel不确定我是否理解你的意思:“重负担代码”。该代码是在一个比大多数操作系统许可证有更多限制的环境下分发的。我从我的回答中的链接中获取了代码,即“仅根据自由软件基金会发布的GNU通用公共许可证第2版的条款”。这仍然是一个问题吗?阅读我认为是可以的。
public static Pattern compile(String regex, int flags) {
return new Pattern(regex, flags);
}