随笔分类 - 正则表达式
正则:匹配引号内的字符串内容
摘要:因为引号是元字符,所以匹配一串字符中的引号中的内容时需要用到转义字符「\」,这里使用的语言是java语言,所以字符串两边的双引号是忽略的,看下面的例子: java中的正则都是通过处理字符串来解决的,需要处理的内容放在双引号中作为字符串处理,处理的方式也就是下面的rex对象也是放在双引号中作为字符串的
正则取出字符串中不连续的符合条件的字符
摘要:我们知道在正则中如果要取出一串字符串中连续的字符可以使用?、+、*、{}等元字符 比如:"432efwklej5431"中我需要取出"efwklej"只需要[A-Za-z]+就可以实现效果。 但是假如efwklej是不连续的字符又该怎么取出呢?我们都知道?、+、*、{}这几个元字符都是对连续的字符起
正则中的转义符\
摘要:转义符:使它作用的元字符失去特殊含义,成了普通的字符 当我们需要匹配一个网站时,比如:www.baidu.com,在这个链接中的「.」作为元字符在正则中的含义是匹配任意字符,但是我们需要匹配的这个链接中的.没有任何含义,这时候就需要使用转义符「\」使「.」失去含义。 效果如下: 「www\.baid
起重复出现作用的量词*和+
摘要:「*」星号和「+」加号的作用与问号「?」的作用类似 「?」的作用是允许之前紧邻的元素出现或者不出现,上限,最多只能出现一次,没有下限, 「*」的作用是是允许之前紧邻的元素出现任意多次,没有上限和下限,可以出现0次,也可以出现无限次 「+」的作用是允许之前紧邻的元素出现至少一次,没有上限,可以出现无数
可选项元素?
摘要:假如需要匹配color和colour,两个单词的区别是后面的比前面的单词多了一个u,可以用「colou?r」来进行匹配。 元字符「?」代表可选项,也就是这个u可以出现,也可以不出现。在元字符「?」前一个的字符不是匹配成功的必要条件 特点:没有次数下限,可以不出现,次数上限是一次,最多可以出现一次
用点号匹配任意字符
摘要:元字符「.」的作用:用来匹配任意字符 假如我们需要匹配:12.23.34或12/23/34或12-23-34,就可以直接用「.」来代替「/」和「-」:「12.23.34」,当然也可以用比较麻烦的字符组来构建正则表达式:「12[-./]23[-./]」34 当然.既然可以匹配任意字符,也就有可能出现如
字符组
摘要:普通字符组:匹配若干字符之一,意思是“或” 假如我要匹配一个单词,但是我不确定这个单词是gray还是grey,这时用上字符组就比较方便了:「gr[ae]y」,最后的结果:gray或grey 排除型字符组:用「[^......]」取代「[......]」,这个字符组就会匹配任何未列出的字符 例如:「[
行的起始和结束
摘要:行的起始和结束由两个元字符决定,分别是:脱字符「^」和美元符「$」 「^」代表行的起始 「$」代表行的结束 正则中「cat」表示寻找一行文本中任意位置的cat,而「^cat」表示寻找位于行首的cat、「cat$」表示寻找以cat结尾的行、「^cat$」表示寻找只包含cat的行--没有其他多余的东西