正则元字符

来源:互联网 发布:美国滑板鞋牌子 知乎 编辑:程序博客网 时间:2024/05/16 12:23

正则元字符

每一个正则表达式都是由元字符和修饰符组成的

元字符:

指在//之间具有意义的一些字符

1. 具有特殊意义的元字符

\:转义字符,转义后面字符所代表的含义^:以某一个元字符开始$:以某一个元字符结尾\n:匹配一个换行符.:除了\n以外的任意字符():分组x|y:x或y中的一个[xyz]:x或y或z中的一个[^xyz]: 除了xyz以外的任意一个字符[a-z]:a-z之间的任意一个字符[^a-z]:除了a-z之间的任何一个字符\d: 一个0-9之间的数字\D:除了0-9之间的数字以外的任何字符\b:匹配一个边界符\w:数字、字母、下划线中的任意一个字符 等同于 [0-9a-zA-Z_]\s:匹配一个空白字符  空格、一个制表符、换页符
var reg = /^0.2$/; //0开头,以2结尾,中间是除了\n 的任意字符console.log(reg.test('0.2')); // true reg.test('0\n2'); -> falsereg = /^0\.2$/; // 匹配0.2
var reg = /^(\d+)pku(\d+)$/; //2016pku2017console.log(reg.test('2016pku2017'));

2. 代表出现次数的量词元字符

*:出现0到多次+: 出现1到多次?: 出现01{n}:出现n次{n,}:出现n到多次{n,m}:出现n到m次
var reg = /^\d+$/; // 1到多次console.log(reg.test('2017'));

元字符应用

规律
1. 在中括号[]中出现的所有的字符都是代表本身意思(没有特殊的含义)

var reg = /^[.]$/;console.log(reg.test('1')); // falseconsole.log(reg.test('.')); // true

2.分组的作用:改变x|y的默认优先级

reg = /^18|19$/; // 18, 19, 181, 119... 只要首位是18或末尾是19都符合reg = /^(18|19)$/; // 只匹配1819

正则实例

写一个验证有效数字的正则
1. 开头可以有+/-
reg = /^[+-]?$/;
2. 整数部分,一位数可以是0-9之间的一个,多位不能以0开头
reg = /^(\d|([1-9]\d+))$/;
3. “.”可以出现也可以不出现,若出现,后面必须跟着一位或多位数字
reg = /^(\.\d+)?$/;

整合后:

reg = /^[+-]?(\d|([1-9]\d+))(\.\d+)?$/;
原创粉丝点击