Skip to content

正则表达式

创建一个正则表达式

  • 字面量创建
javascript
let reg = /ab+c/; //脚本加载后就会 就会被编译;当正则表达式不变时,使用次方法获得更好的性能。
  • 通过RegExp构造方法创建
javascript
let reg = new RegExp('ab+c');//运行脚本过程中也会被编译;如果表达式是改变的 或者用户输入 动态变化的,就需要使用构造函数来创建表达式了

使用特殊字符

* :包含0次或多次 等价于 {0,}

javascript
let reg = /ab*c/;
reg.test('abc');//true
ref.test('abasc');//true

$:结尾是的XX的字符串

javascript
let reg = /sd$/;
reg.test('sdwe')//false
reg.test('wesd')//true

+:出现一次或者多次 等价于 {1,}

javascript
let reg = /sd+/;
reg.test('sdwesd')//true
reg.test('sd')//false

:出现0次或者一次 等价于 {0,1}

javascript
let reg = /sd?/;
reg.test('sdwesd')//false
reg.test('sd')//true

元字符

元字符description范围
\d匹配任一数字[0,9]
\D除了数字以外的任何字符串[^0-9]
\w与任意的一个英文字符串数字或者是下划线[0-9a-zA-Z_]
\W除了字母数字 下划线外的任何字符[^0-9a-zA-Z_]
\s与任意一个空白字符匹配[\n\f\r\t\v]
\S除了空白字符的任意字符[^\n\f\r\t\v]
\n换行符
\t制表符

原子表

原子表description
[]只匹配包含的一个原子
[^]只匹配除了其中字符的任意一个原子
[0-9]匹配【0-9】任意一个数字
[a-z]匹配【a-z】任意一个字母
[A-Z]匹配【A-Z】任意一个字母
.除了换行符外的任意字符