正则表达式
创建一个正则表达式
- 字面量创建
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】任意一个字母 |
. | 除了换行符外的任意字符 |