javascript 正则学习笔记

正则表达式图形化工具

REGEXP对象

JavaScript通过内置对象RegExp支持正则表达式,有两种方法实例化RegExp对象
- 字面量
var reg = /\bis\b/g;
- 构造函数
var reg = new RegExp('\\bis\\b','g');

修饰符

g :global 全文搜索,不添加搜索到第一个匹配停止

i :ignore case 忽略大小写,默认大小写敏感

m :multiple lines 多行搜索

元字符

  • 原义文本字符
  • 元字符(含有特殊含义的非字母字符)
  • 特殊含义的 * + ? $ ^ . | \ ( ) { } [ ]

相关

  • > []构建一个简单的类:[abc]代表字符a或b或c
  • > ^反向类/负向类:[^abc]代表不是字符a或b或c
  • > [a-z]范围类,可以连写[a-zA-Z]
  • 预定义类
    • .等价于[^\r\n],除了回车、换行之所的所有字符
    • \d等价于[0-9],数字字符
    • \D等价于[^0-9],非数字字符
    • \s等价于[\t\n\x0B\f\r],空白符
    • \S等价于[^\t\n\x0B\f\r],非空白符
    • \w等价于[a-zA-Z_0-9],字母数字下划线
    • \W等价于[^a-zA-Z_0-9],非单词字符
  • 边界
    • ^ 以xxx开始
    • $ 以xxx结束
    • b 单词边界
    • B 非单词边界
  • 量词
    • ? 出现零次或一次(最多出现一次)
    • + 出现一次或多次(最少出现一次)
    • * 出现零次或多次(任意次)
    • {n} 出现n次
    • {n,m} 出现n到m次
    • {n,} 最少出现n次
  • 贪婪模式:尽可能多的匹配
  • 非贪婪模式:尽可能少的匹配
    • 在量词后加?即可
  • 分组:使用()分组
  • 或:使用|
  • 反向引用:$1$2$3 代表分组内的内容
  • 前瞻:就是在正则表达式匹配到规则的时候,向前检查是否符合断言,后顾/后瞻方向相反
    • 正向前瞻:exp(?=assert)
    • 负向前瞻:exp(?!assert)

方法

  • test(str)
  • exec(str)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值