定义:
正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符,及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
作用:
正则表达式使用单个字符串来描述,匹配一系列符合某个句法规则的字符串给定一个正则表达式和另一个字符串,我们可以达到如下的目的:1。给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”)2。可以通过正则表达式,从字符串中获取我们想要的特定部分。
常用的正则表达式字符
字符 | 说明 |
^ | 匹配输入字符串的开始位置。要匹配“^”字符本身,请使用“/ ^” |
$ | 匹配输入字符串的结尾位置。要匹配“$”字符本身,请使用“/ $” |
() | 标记一个子表达式的开始和结束位置。要匹配小括号,请使用“/(”和“/)” |
[] | 用来自定义能够匹配'多种字符'的表达式。要匹配中括号,请使用“/ [”和“/]” |
{} | 修饰匹配次数的符号。要匹配大括号,请使用“/ {”和“/}” |
。 | 匹配除了换行符(/ n)以外的任意一个字符。要匹配小数点本身,请使用“/。” |
? | 修饰匹配次数为0次或1次。要匹配“?” 字符本身,请使用“/?” |
+ | 修饰匹配次数为至少1次。要匹配“+”字符本身,请使用“/ +” |
* | 修饰匹配次数为0次或任意次。要匹配“*”字符本身,请使用“/ *” |
| | 左右两边表达式之间“或”关系。匹配“|” 本身,请使用“/ |” |
字符 | 说明 |
/ d | 匹配一个数字字符。等价于[0-9] |
/ d | 匹配一个非数字字符。等价于[^ 0-9] |
/F | 匹配一个换页符。等价于/ x0c和/ cL |
/ N | 匹配一个换行符。等价于/ x0a和/ cJ |
/ R | 匹配一个回车符。等价于/ x0d和/ cM |
/秒 | 匹配任何空白字符,包括空格,制表符,换页符等等。等价于[/ f / n / r / t / v] |
/ S | 匹配任何非空白字符。等价于[^ / f / n / r / t / v] |
/吨 | 匹配一个制表符。等价于/ x09和/ cI |
/ v | 匹配一个垂直制表符。等价于/ x0b和/ cK |
/ W | 匹配包括下划线的任何单词字符。等价于 '[A-ZA-Z0-9_]' |
/ W | 匹配任何非单词字符。等价于 '[^ A-ZA-Z0-9_]' |
^[-+]*/d+(/./d+)?$ //匹配正负整数和浮点数.
^/d+$ //匹配非负整数(正整数+ 0)
^[0-9]*[1-9][0-9]*$ //匹配正整数
^((-/d+)|(0+))$ //匹配非正整数(负整数+ 0)
^-[0-9]*[1-9][0-9]*$ //匹配负整数
^-?/d+$ //匹配整数
^/d+(/./d+)?$ //匹配非负浮点数(正浮点数+ 0)
[/u4e00-/u9fa5] //匹配中文字符的正则表达式:
[^/x00-/xff] //匹配双字节字符(包括汉字在内):
/n[/s| ]*/r //匹配空行的正则表达式:
(^/s*)|(/s*$) //匹配首尾空格的正则表达式:(像vbscript那样的trim函数)
^(-?/d+)(/./d+)?$ //匹配浮点数
^[A-Za-z]+$ //匹配由个英文字母组成的字符串
^[A-Z]+$ //匹配由个英文字母的大写组成的字符串
^[a-z]+$ //匹配由个英文字母的小写组成的字符串
^[A-Za-z0-9]+$ //匹配由数字和个英文字母组成的字符串
^/w+$ //匹配由数字、个英文字母或者下划线组成的字符串
/<(.*)>.*<///1>|<(.*) //>/ //匹配HTML标记的正则表达式:
^((-/d+(/./d+)?)|(0+(/.0+)?))$ //匹配非正浮点数(负浮点数+ 0)
^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$ //匹配email地址
^http://([/w-]+/.)+[/w-]+(/[/w- ./?%&=]*)?$ //匹配网址URL的正则表达式:
^/w+([-+.]/w+)*@/w+([-.]/w+)*/./w+([-.]/w+)*$ //匹配Email地址的正则表达式: