正则表达式

正则表达式:匹配字符串中字符组合

在 JavaScript 中,正则表达式也是对象。这些模式被用于 RegExp 的 exec 和 test 方法,以及 String 的 match、matchAll、replace、search 和 split 方法。本章介绍 JavaScript 正则表达式。

1、创建

javascript 复制代码
var re = /ab+c/;

var re = new RegExp("ab+c");

2、编写

|----------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------|
| \w | 匹配一个单字字符(字母、数字或者下划线)。等价于 [A-Za-z0-9_]。 例如,/\w/ 匹配 "apple," 中的 'a',"$5.28,"中的 '5' 和 "3D." 中的 '3'。 |
| \W | 匹配一个非单字字符。等价于 [^A-Za-z0-9_]。 例如,/\W/ 或者 /[^A-Za-z0-9_]/ 匹配 "50%." 中的 '%'。 |

|--------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|
| (x) | 括号被称为捕获括号。 |
| (?:x) | 非捕获括号,不会将该分组的匹配结果保存到内存中,从而提高正则表达式的性能和效率。 /(?:foo){1,2}/,如果使用非捕获括号,则 {1,2} 会应用于整个 'foo' 单词。 /foo{1,2}/,{1,2} 将只应用于 'foo' 的最后一个字符 'o' |

3、实例

^:表示匹配字符串的开始位置

([0]|[1-9][0-9]*):匹配整个非负整数

[0]:匹配单个字符 0。

[1-9][0-9]*:首先匹配一个非零数字([1-9]),然后跟零个或多个数字([0-9]*)。

* :表示前面的字符(这里是 [0-9])可以出现零次或多次。

$:表示匹配字符串的结束位置

.test(val) :如果字符串 val 符合正则表达式的规则,.test(val) 方法将返回 true;否则,返回 false。

javascript 复制代码
 validatorScore(val) {
        // 匹配任何形式的非负整数
        if ((/^([0]|[1-9][0-9]*)$/u).test(val) && val <= 999) {
          return true
        } else {
          return false
        }
      },
javascript 复制代码
it.idCardNo = it.idCardNo.replace(/^(.{6})(?:\d+)(.{2})$/, '$1**********$2')
-----> "123456789012345678" -> "123456**********78"
       $1:插入第一个捕获组的内容,即身份证号码的前6位(.{6})
       **********:插入10个星号,用于替换中间的数字。
       $2:插入第三个捕获组的内容,即身份证号码的最后2位(.{2})
javascript 复制代码
/^[A-Za-z0-9]{0,20}$/  -----> 0到20个字符(只包含字母和数字)
/^[0-9-]+$/  ----->只包含数字和-
相关推荐
小白快快跑哦1 天前
python-字符串全解(六):正则表达式-逻辑运算或
python·正则表达式·字符串·逻辑运算
MoRanzhi12032 天前
106.正则问题(分治)
python·算法·正则表达式·蓝桥杯·递归·分治算法·字符串处理
临床数据科学和人工智能兴趣组3 天前
在R语言的生态系统中,字符串处理一直是一个重要且复杂的任务
开发语言·正则表达式·r语言·r语言-4.2.1
小白快快跑哦4 天前
python-字符串全解(六):正则表达式-前后相断言
开发语言·python·正则表达式·前后相断言
小白快快跑哦5 天前
python-字符串全解(六):正则表达式-修饰符
python·正则表达式·修饰符
11路没有终点5 天前
正则表达式(Regex)通用学习文档
正则表达式
小白快快跑哦5 天前
python-字符串全解(六):正则表达式-分组
python·mysql·正则表达式·分组
临床数据科学和人工智能兴趣组6 天前
正则表达式的基础语法的基本符号
开发语言·人工智能·python·正则表达式·r语言·r语言-4.2.1·workbudyy
只愿云淡风清6 天前
正则表达式学习笔记-01 正则表达式的来源
笔记·学习·正则表达式
半亩码田6 天前
C#转Python第4.8篇:正则表达式:Python re 模块 vs C# System.Text.RegularExpressions
python·正则表达式·c#