JavaScript连载24-正则表达式    

一、正则表达式

1.基本概念(简略)

  • 三大作用:匹配,提取,替换
  • 正则表达式的组成:普通字符和元字符
  • 元字符
元字符描述
\d匹配一个数字字符,等价于[0-9]
\D匹配一个非数字字符,等价于[^0-9]
\w匹配一个包括下划线在内的任意单词字符,等价于[A-Za-z0-9]
\W匹配任何非单词字符,等价于[^A-Za-z0-9]
\s匹配任何空白字符,包括空格、制表符、换页符等,等价于[\f\n\r\t\v]
\S匹配任何非空白字符,等价于[^\f\n\r\t\v]
.匹配除了"\n"之外的任何字符,要匹配包括"\n"在内的任何字符,请使用(.
^匹配输入字符串的开始位置,如果设置了RegExp对象的Multiline属性,^也匹配\n或者\r之后的位置。
$匹配输入字符串的结束位置,如果设置了RegExp对象的Multiline属性,^也匹配\n或者\r之前的位置。
  • 限定符
限定符描述
*匹配前面的子表达式>=0次
+匹配前面的子表达式>=1次
?匹配前面的子表达式0次或者1次
{n}n是一个非负整数,匹配前面的子表达式n次
{n,}n是一个非负整数,匹配前面的子表达式至少n次
{n,m}n是一个非负整数,匹配前面的子表达式至少n次,最多m次
  • 其他
其他描述
[xyz]字符集合,匹配包含的任意一个字符。
[^xyz]负值字符集合,匹配未包含的任意字符。
[a-z]能匹配的字符范围
[^a-z]负值字符范围,匹配任何不在指定范围的任意字符。

2.两种正则表达式方法

    //第二个参数,i执行对大小写不敏感,g执行全局匹配(查找所有匹配值而非在找到第一个匹配后停止),m执行多行匹配
    var reg = new RegExp('^ab[a-z]','i');    var str = 'ABC';
    console.log(reg.test(str));//匹配成功就会返回true

    //字面量
    var reg2 = /ab[a-z]/i;//还有这种正则表达式
    var str2 = "ABshdu";
    console.log(reg2.test(str2));

运行结果
JavaScript连载24-正则表达式_JavaScript

3.正则表达式相关的方法

(1)RegExp对象

  • test() 匹配
  • exec() 提取一个内容\

(2)针对String对象

  • replace()替换
  • split() 切割
  • search() 搜索

二、源码:

    • D24_1_RegularExpression.html
    • 地址:https://github.com/ruigege66/JavaScript/blob/master/ D24_1_RegularExpression.html
    • 博客园:https://www.cnblogs.com/ruigege0000/
    • CSDN:https://blog.csdn.net/weixin_44630050?t=1
    • 欢迎关注微信公众号:傅里叶变换,个人账号,仅用于技术交流,后台回复“礼包”获取Java大数据学习视频礼包
      JavaScript连载24-正则表达式_JavaScript_02