//下面这两个正则表达式是等价的
const reg = RegExp(/\((.*)\)/);
const reg = /\((.*)\)/;
//css颜色
const rgbaCss = "rgba(255,100,0,1)";
//正则
const reg1 = RegExp(/\((.*)\)/);
const reg2 = /\((.*)\)/;
const reg3 = RegExp(/(.*)/);
const reg4 = RegExp(/\(.*\)/);
//捕捉数据
const rgbaStr1 = reg1.exec(rgbaCss);
console.log(rgbaStr1); // (2) ['(255,100,0,1)', '255,100,0,1', index: 4, input: 'rgba(255,100,0,1)', groups: undefined]
const rgbaStr2 = reg2.exec(rgbaCss);
console.log(rgbaStr2); // (2) ['(255,100,0,1)', '255,100,0,1', index: 4, input: 'rgba(255,100,0,1)', groups: undefined]
const rgbaStr3 = reg3.exec(rgbaCss);
console.log(rgbaStr3); //(2) ['rgba(255,100,0,1)', 'rgba(255,100,0,1)', index: 0, input: 'rgba(255,100,0,1)', groups: undefined]
const rgbaStr4 = reg4.exec(rgbaCss);
console.log(rgbaStr4); // (1) ['(255,100,0,1)', index: 4, input: 'rgba(255,100,0,1)', groups: undefined]
正则表达式 /\((.*)\)/ 的含义总结:
- 左右的两个斜杠 / 是正则表达式限制符号;
- \( 和 )\ 匹配开始和结束位置 ,匹配结果要包括开始和结束位置;
- () 表示另存一份不包括匹配开始和结束位置的匹配内容
- .* 表示匹配全部内容