正则表达式一些高级用法demo

Posted chengeping

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式一些高级用法demo相关的知识,希望对你有一定的参考价值。

var  str = "aaaa"
var reg = /(a)1/g  // 这里的“1表示反向引用前面匹配的结果”

 

var str = "aaaa"
var reg = /(w)1/g
str.match(reg) // ["aa", "aa"]
(2) ["aa", "aa"]

 

var str2 = "aa"
var reg = /a/g
console.log(str2.replace(reg, "b")) // bb
VM1469:3 bb

 

var str2 = "aabb"
var reg2 = /(w)1(w)2/g;
str2.match(reg2)
["aabb"]

 

var str2 = "aa"
console.log(str2.replace("a", "b"))
VM1427:2 ba

 

var str2 = "aabb"
var reg = /(w)1(w)2/g
console.log(str2.replace(reg, "$2$2$1$1")) // bbaa
VM1512:3 bbaa

 

var str2 = "aabb"
var reg = /(w)1(w)2/g
console.log(str2.replace(reg, function($, $1, $2){
return $2 + $2 + $1 +$1 // 这里也可以随意扩展
}))
VM1622:3 bbaa

 

// the-first-name
// thisFirstName
var reg = /-(w)/g;
var str = "the-first-name";
console.log(str.replace(reg, function($, $1) {
console.log($1, ‘$1‘)
return $1.toUpperCase();
}))
VM2237:6 f $1
VM2237:6 n $1
VM2237:5 theFirstName

 

var str = "aaaba"
var reg = /a(?=b)/g     // 正向预查找后面是b的a

var reg1 = /a(?!b)/g  //查找后面不是b的a 
console.log(str.match(reg))
VM2451:3 ["a"]

 

var str = "aaaba"
var reg = /a+/g // 能多不少
console.log(str.match(reg))
VM2486:3 (2) ["aaa", "a"]

 

var str = "aaaba"
var reg = /a+?/g //能少不多
console.log(str.match(reg))
VM2492:3 (4) ["a", "a", "a", "a"]

以上是关于正则表达式一些高级用法demo的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式中分组功能高级用法

NotePad++ 正则表达式替换 高级用法

高级正则表达式技术(Python版)

正则表达式中零宽断言的用法

深入理解正则表达式环视的概念与用法

文本提取——正则表达式