为了避免以后出现这样的情况,这里用小例子记录下正则表达式的一些基本用法。让你日后一目了然他的用处,节省开发时间,分享给大家。
常规元字符
在讨论正则表达式之前,我们先来看一下通配符。我想每个人都用过通配符。通配符主要是星号(*)和问号(?),用于模糊搜索文件。在winodws中,我们经常使用搜索来查找一些文件。例如:*。jpg,XXX.docx,来快速查找文件。事实上,正则表达式非常类似于我们的通配符,它通过特定的字符匹配我们想要查询的内容信息。所有代码都区分大小写。
公共元字符
代码描述。匹配除换行符以外的任何字符。w匹配字母、数字、下划线或汉字。s匹配任何空白字符。 d匹配号码。b匹配单词的开头或结尾。匹配包含括号中元素的字符匹配行首。$匹配行尾。转义下一个字符。例如,$是一个特殊字符。如果要匹配$,必须使用 $ |分支条件,例如:x|y匹配x或y。反义元字符
代码描述W匹配除字母、数字、下划线或中文字符以外的任何字符。S匹配任何非空白字符。相当于[ f n r t v]。D匹配任何非数字字符。相当于[0-9]。 b匹配不是单词的开头或结尾。[CK]匹配除CK以外的任何角色。特殊元字符
代码描述f匹配分页符。相当于x0c和cL。 n匹配新的行字符。相当于x0a和cJ。r匹配回车符。相当于x0d和cM。 t匹配选项卡。相当于x09和cI。v匹配垂直制表符。相当于x0b和cK。预选赛
代码描述*与前面的子表达式匹配零次或多次。将前面的子表达式匹配一次或多次。匹配前面的子表达式零次或一次。{n} n是非负整数。匹配n次。{n,} n是非负整数。至少匹配n次。{n,m} m和n为非负整数,其中n=m,至少匹配n次,最多匹配m次。懒惰限定词
代码描述*?重复任何次数,但尽可能少重复。
例如“acbacb”常规a.*?“b”将只得到第一个“acb”,它本可以被完全取用,但在添加限定符后,它将只匹配尽可能少的字符,字符最少的“acbacb”的结果是“acb”。
?重复一次或多次,但尽量少重复。同上,只重复至少一次。重复0或1次,但尽可能少重复。
例如“aaacb”普通a?“b”将只检索最后三个字符“acb”。
{n,m}?重复n到m次,但尽量少重复。
如果“aaaaaaaa”是常规的“a{0,m}”,则获得的结果为null,因为它至少是0次。
{n,}?重复n次以上,但尽量少重复。
例如,“aaaaaaa”正则“a{1,}”至少是一次,因此得到的结果是“a”。
捕获分组
代码描述(exp)。