正则元字符

正则元字符

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

元字符:

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

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'); -> false
reg = /^0\.2$/; // 匹配0.2
var reg = /^(\d+)pku(\d+)$/; //2016pku2017
console.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')); // false
console.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+)?$/;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值