正则表达式入门
基础知识1,匹配汉字时,要先将汉字转换成unicode编码(网上有工具)再进行匹配,防止因编码不同而出现的问题。 2,使用""进行转义 3,不可见原子(空格、换行等无可见内容的字符)的匹配。空格:直接输入了一个空格即可进行匹配;制表符:用"t"进行匹配;回车:用“n”进行匹配 4,"|":或,用于匹配两个或多个分支,例如“q4|1”表示匹配"q4"或者"1",只要满足其中一个就能匹配成功。 5,[]和[^]:前者匹配中括号中任意一个原子,只要出现就能匹配成功。后者与前者相反。例如"[41d]"表示只有4,1,d三个中的任意一个出现都能匹配成功。中括号一次只拿里面的一个原子进行匹配(如上面的[41d]是将4,1,d分开进行匹配,并不会同时匹配两个原子),而|则一次只拿左边或右边进行匹配(无论左边或右边是否是一个单独的原子,如上面的q4就是拿q4的整体去匹配,并不会将q4拆分成q,4两个原子去匹配)。 6,截自:幕课网
7,量词。{n,m}出现次数为[n,m];{n}出现次数为n;{n,}表示出现次数大于等于n次;+表示出现次数大于等于1次;*表示出现的次数要大于等于0;?表示出现0次或者1次。 8,^用于限制匹配的字符串的开头,如^s表示要匹配的字符串必然以s开关,否则不匹配;$类似,只不过它用于控制结尾。如 String regex = "^s[0-9]+$"; Pattern p = Pattern.compile(regex); Matcher matcher = p.matcher("234");返回的就是false,因为^要求匹配的字符串必须以不可见原子开头。如果将"234"换成"[空格]234"就会匹配成功。 9,():将小括号中的当作一个原子进行匹配,不管小括号中放的是什么。如"(abc|e)ar"是可以匹配成功abcar和ear的。 Patternjava中用来操作正则表达式的类。 CASE_INSENSITIVE:忽略整体大小写。如果想忽略某个字符的大小写,可以在该字符前加?i。如 (?i)abc 表示abc都忽略大小写 a(?i)bc 表示bc忽略大小写 a((?i)b)c 表示只有b忽略大小写COMMENTS:忽略正则表达式中的空白。要注意:并不是忽略要进行匹配的字符串中的空白符,只是忽略正则表达式中的。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |