正则表达式
在Lab1中第一次接触到正则表达式,如今在Lab3与考试中中又需要使用,今天来做一个应用层面的总结。
首先我们看到的正则表达式一般都是由^开始由$结尾,所以字符串匹配的开始和结束标志不必多说;\w匹配字母或数字或下划线或汉字,\d匹配数字,\s匹配任意的空白符,\b匹配单词的开始或结束,.匹配除换行之外的字符;
反义字符:对于上述字母表示变为大写,即为对应的反义字符,此外反义字符串[^asd]即非asd的字符
如果一个字符要求重复:/d* (0-n),+(>=1),?(0/1),{n}(n),{n,}(>=n),{n,m}(>=n && <=m)
转义字符\,当我们遇到要识别换行符或者. 这些本身符号里具有正则表达式意义的我们要去识别的时候就需要加上转义符号,\\n,\.,等;
字符分组:这个其实是我们经常要使用的正则表达式的形式,当我们要识别具有重复或者相似部分的字符串时,我们就可以通过字符分组,实现匹配,具体方法如下:(要识别的公共字符串){n}重复的次数。
以下是一些常用的匹配模式:
验证是否含有^%&’,;=?$""等字符:"[^%&’,;=?$"x22]+"
只能输入汉字:"^["u4e00-"u9fa5]{0,}$"(与汉字的编码模式有关)
验证Email地址:"^"w+([-+.]"w+)*@"w+([-.]"w+)*"."w+([-.]"w+)*$"
验证InternetURL:"^http://(["w-]+".)+["w-]+(/["w-./?%&=]*)?$"