JAVA正则表达式之标志表达式
来源:互联网 发布:java http获得响应 编辑:程序博客网 时间:2024/06/05 10:04
捕获与非捕获捕获的话是指匹配到的内容在匹配的group[x]里保存,非捕获则是匹配到的内容在group[x]里不保存
忽略大小写来着~ 这里给段搜的资料,巨细的如果你想摸得透彻还是自己写几段代码试试吧对应的内嵌标志表达式是 (?i),它有四种形式:1,(?i)2,(?-i)3,(?i:X)4,(?-i:X)不带有 - 的是开标志,带有 - 的是关标志。把上面的代码改成这样: Java code public class Test { public static void main(String[] args) { String str = "Book"; String regex = "(?i)book"; System.out.println(str.matches(regex)); }} 我们就达到了同样的效果,当然这样并不是最好的,因为字符串中只有 B 是大写的,我们没有必要把所有的字符都进行不区分大小写匹配,我们可以在打开标志,用 (?i) 的第二种形式马上关掉它: String regex = "(?i)b(?-i)ook";这样的话,只有 b 是区分大小写了,而 (?-i) 后面的还是得区分大小写匹配的。这样写可能看上去很不顺眼,我们还能使用第 3 种形式直接指定某些字符是不区分大小写的。 String regex = "(?i:b)ook";这样的表达式与上面的那个在语义上是相同的。就效率上肯定是优于一下子开,一下子关的。可见内嵌标志表达式要比指定编译参数的功能强大许多。使用建议:如果能确定某些字符的大小写时,尽量使用已确定的字符,对于不确定的可以采用(?i:X) 的方式指定。因此打开不区分大小写开关时,对匹配的性能是有一定影响的。思考一下:String regex = "(?i)b(?-i:oo)k"; 这个表达式的意思?
- JAVA正则表达式之标志表达式
- 正则表达式标志
- Java之正则表达式
- Java之正则表达式
- Java之正则表达式
- java之正则表达式
- JAVA之正则表达式
- Java 之正则表达式
- java之正则表达式
- java 之 正则表达式
- java之正则表达式
- Java之正则表达式
- Java之正则表达式
- java之正则表达式
- Java之正则表达式
- java之正则表达式
- JAVA之正则表达式
- Java之正则表达式
- 百度竞价点击系统,互动点击软件【胖虎图图-互动点击专家】
- 连接mysql的时候出现:java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
- POJ 3080 Blue Jeans(KMP)
- Android TTS 中文 文字转语音 使用TextToSpeech Svox .
- 2013全新的开始
- JAVA正则表达式之标志表达式
- 搜索引擎常用的十大指令
- 九度Online Judge程序猿求职及面试
- coreseek 在windows下的编译(转)
- ZMQ_SNDHWM and ZMQ_RCVHWM should use type of int instead of uint64_t
- HDU 2068
- 计算机视觉、机器学习相关领域论文和源代码大集合
- codeblocks下Win32GUI工程运行时的黑色dos引导页解决方案
- 透明皮肤控件设计系列(一):前言