定义
匹配规律规则的表达式,通常用来检索、替换符合某个模式的文本。
组成
元字符 |
匹配说明 |
\d |
数字 |
\D |
非数字 |
\w |
字母、数字、下划线 |
\W |
非字母、数字、下划线 |
\s |
空白符 |
\S |
非空白符 |
. |
除换行符以外的任意单个字符 |
^ |
以谁开始 |
$ |
以谁结束 |
限定符 |
重复说明 |
* |
大于等于0次 |
+ |
大于等于1次 |
? |
0次或者1次 |
{n} |
n次 |
{n,} |
大于等于n次 |
{n,m} |
n到m次 |
字符 |
说明 |
[ ] |
匹配中括号中任一字符 |
[ ^ ] |
匹配除中括号内容以外的字符 |
\ |
转义符 |
| |
或者 |
() |
组,圆括号内的内容表示的是一个表达式 |
作用
var str = "2018-8-8";
var reg = /^\d{4}-\d{1,2}-\d{1,2}$/gi;
console.log(reg.test(str)); // true
// 提取
var str = "西虹市首富: 2391.70, 狄仁杰之四大天王: 623.70, 风语咒: 425.00";
var reg = /[0-9]+([.]{1}[0-9]+){0,1}/g;
var arr = str.match(reg);
console.log(arr); // (3) ["2391", "623.70", "425.00"]
// 分组提取
var str = "西虹市首富:2391";
var reg = /([\u4e00-\u9fa5]+):([0-9]+)/g;
if (reg.test(str)) {
console.log(RegExp.$1); // 西虹市首富
console.log(RegExp.$2); // 2391
}
var str = "西 虹 市 首 富:2391";
var reg = /\s/g;
var strNew = str.replace(reg, "");
console.log(strNew); //西虹市首富:2391