正则表达式实战

replace使用可以参考 js-replace的高阶用法
1.将字符串中每个单词的首字母设置为大写

let sStr = 'hello world'
let matched = sStr.replace(/\b(\w)|\s(\w)/g, $1 => $1.substring(0,1).toUpperCase()+$1.substring(1)); //匹配文本进行替换
console.log('matched ->', matched)

2.验证首字母是否大写

/^[A-Z](\w|\s)*$/.test('A cccccc')

3.取出指定的字符串

let name = '<BN ddiii22>'
name.replace(/(<BN )(\w*)(>)/g, function(){console.log(arguments)})
// 如果正则表达式匹配成功,则会执行回调函数,如果没有匹配成功,则直接返回原字符串
// 如果匹配成功,则返回的参数依次为原字符串,匹配的各个字符串,然后是第一个匹配串的位置

// 如何去除不需要的字符串,直接可以通过在第二个参数中构造最终的字符串
name.replace(/(<BN )(\w*)(>)/g, '$2')

4.关于特殊标记说明

// $i (i:1-99) : 表示从左到右,正则子表达式(组)匹配到的文本
var str = 'Please make health your first priority'; //健康放在第一位
 str = str.replace(/(^\w+)(.+)/g,'$2 $1');
 console.log(str);
 // output:  make health your first priority Please
 var str = '"a","bc"';
 // 匹配所有 类似"abc" 字符并替换为 'abc'
 str = str.replace(/"([^"]*)"/g,"'$1'");
 console.log(str);
 // output: 'a','bc'

相关推荐