简单的正则用法

正则表达式

regular expression
包含 正常字符、元字符。用于匹配对象

如何创建正则表达式

1.构造函数:new RegExp(‘xx’)
2.字面量:/xx/

检测匹配的方法

正则表达式.test(字符串)
1.验证字符串的格式
2.检测字符串中是否包含需要的信息

常用元字符

、、、
1>基本元字符
. 除了换行的任意字符
[ ] 出现在括号中的任意一个字符
()提高优先级或分组
| 表示或者 优先级最低
2>限定元字符
* 跟在前面的字符出现0次或多次
+ 跟在前面的字符出现1次或多次
? 跟在前面的字符出现1次或多次
{x} 前面的字符出现x次
{x,} 前面的字符出现至少x次
{x,m} 前面的字符出现x 到 m 次
3>首尾元字符
^x 放在正则一开始,表示必须以x开头
[^x] 表示否定,不能是x
xx使数字 表示组引用
4>简写元字符
\d 数字 digit
\D 非数字
\s 空白(空格、换行…….) space
\S 非空白 小技巧:[\s\S] 表示任意一个字符
\w 文字:数字、字母、下划线 word
\W 非文字
、、、

常用方法

1.正则.test(str) return boolean
*判断是否符合正则
2.正则 . exec(str) return Array
*将符合正则的字符串截取出来,存储到数组中,每次取一个
3.字符串 . replace(正则 , 替换字符 | 函数)
*将字符串中符合正则表达式的内容替换成指定字符

案例

  1. 写一个正则表达式, 匹配用户输入的数字. 要求是绝对的数字格式. 包含正数, 负数, 0, 小数等.
    *要求严格匹配,所以首尾加^和$
    * 0直接匹配
    * 正数+?\d+ (\为转译)
    * 负数-\d+
    * 小数\d+.\d+ | +?\d+.\d+ | -\d+.\d+

    结合起来:^(0|+?\d+|-\d+| +?\d+.\d+|-\d+.\d+)$
    2.截取一个字符串中的所有数字
    、、、
    var s = ‘abcd34efgabcde34fgabc54defga5cdefga4bcdef43gabc6defga43bcdefgab23cdefg’;
    var r = /\d+/g; /g表示全局/
    var m;
    var arr = [ ];
    while(m = r.exec(s)){
    arr.push(m[0]);
    }
    、、、
    3.写一个字符串, 里面包含数字, 要求将所有的数字替换成 星号
    、、、
    var s = ‘abcdefgab321cde43fgabcdef43gabcdefg43abcdefga432bcdefgabc658defg78hijklmnh7ikhijklmnlmnhikjhijk’;

    var r = /\d+/g;
    var str = s.replace(r,’*’);
    console.log(str);
    、、、

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值