正则表达式

正则表达式的用途

  • 测试字符串的某个模式
  • 替换文本
  • 根据模式匹配从一个字符串中提取子字符串

正则表达式的语法

  • var re = new RegExp('a');
  • var re = new RegExp('a', 'i');
  • g 全文查找, I 忽略大小写, m 多行查找
  • var re = /a/gi;
  • var re = /^xiao$/i
  • var re = /\s/; \s匹配任何空白字符,包括空格、制表符、换页符等
  • var re = /^[a-z]/i;
  • var re = /^[a-z]+\s+\d+$/i; +至少出现一次,\d表示数字
  • var re = /^[a-z]+\s(\d+)$/i; 用()来创建子匹配
  • 元字符: ( [ { \ ^ $ | ) ? * + .
  • 使用元字符必须进行转义
    • var re = /\?/, var re = new RegExp("\\?"); //匹配问号
  • 预定义特殊字符
    • \n 换行符
    • \r 回车符
    • \t 制表符
    • \f 换页符
    • \cX 与X对应的控制字符
    • \b 退格符
    • \v 垂直制表符
    • \0 空字符
  • 预定义类
    • . 匹配除换行符之外的任何一个字符
    • \d 匹配数字
    • \D 非数字
    • \s 匹配一个空白字符
    • \S 非空白字符
    • \w 匹配字母数字下划线
    • \W 非字母数字下划线
  • 量词
    • * 匹配>=0次
    • + 匹配>=1次
    • ? 匹配0次或1次
    • {n} 匹配n次
    • {n,} 匹配>=n次
    • {n,m} 匹配最少n次最多m次
  • 贪婪量词匹配与惰性量词匹配
    • 贪婪量词匹配会首先将整个字符串匹配,若不匹配则去掉最后一个字符匹配,依次进行。
    • 惰性量词匹配会首先将第一个字符当成匹配,依次增加。
    • 惰性量词仅仅在贪婪两次后面加?
\d : 0-9之间的任意一个数字  \d只占一个位置
\w : 数字,字母 ,下划线 0-9 a-z A-Z _
\s : 空格或者空白等
\D : 除了\d
\W : 除了\w
\S : 除了\s
 . : 除了\n之外的任意一个字符
 \ : 转义字符
 | : 或者
() : 分组
\n : 匹配换行符
\b : 匹配边界 字符串的开头和结尾 空格的两边都是边界 => 不占用字符串位数
 ^ : 限定开始位置 => 本身不占位置
 $ : 限定结束位置 => 本身不占位置
[a-z] : 任意字母 []中的表示任意一个都可以
[^a-z] : 非字母 []中^代表除了
[abc] : abc三个字母中的任何一个 [^abc]除了这三个字母中的任何一个字符

String对象一些和正则表达式相关的方法

  • .match();
  • .replace();
  • .search();
  • .split();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值