正则表达式中?=、?<=、?!、?<!的使用区别

电脑网络 思享 154浏览
摘要:
=exp2):查找exp1后跟exp2。[0-9]+)run OOB/g;//找到runoob。前面没有数字的console.log//打印googlerunoob中的runoob。

?=用法

exp1(?=exp2):查找exp1后面是exp2的exp1.

var str = '123456runoob123runoob456';
var r = /runoob(?=[d+])/g;//查找数字前面的runoob
console.log(r.exec(str));//打印的是runoob123中的runoob

?<=用法

(?<=exp2)exp1:查找 exp1前面是exp2的exp1.

var str = '123456runoob-googlerunoob456';
var r = /(?<![0-9]+)runoob/g;//查找前面不是数字的runoob
console.log(r.exec(str));//打印的是googlerunoob中的runoob

?!用法

exp1(?!exp2):查找后面不是 exp2 的 exp1.

var str = '123456runoob-google123runoob456';
var r = /runoob(?![0-9]+)/g;//查找后面不是数字的runoob
console.log(r.exec(str));//打印的是runoob-google中的runoob

?<!用法

(?<!exp2)exp1:查找 exp1前面不是exp2的exp1。

var str = '123456runoob-googlerunoob456';
var r = /(?<![0-9]+)runoob/g;//查找前面不是数字的runoob
console.log(r.exec(str));//打印的是googlerunoob中的runoob

推荐阅读

正则表达式中[^>]是什么意思

正则表达式[^>]是什么意思,怎么使用...

多个excle怎么合并成一个?xlsx文件合并工具

在办公中,我们有时需要将多个excel文件合并为一个excel文件。高版本的excel可能支持这样的操作,但是低版本如office2013及之前的版本不支持合并。为此,我根据网上的代码编写了一个小工具,可以快速实现最简单的excel文件合并。您必须在......

小尺寸平板ipad mini5和华为M6哪个好,怎么选

一直在折腾的mini4已经破烂不堪了。最近买了个二手的华为M6,用了一段时间。我能明显感受到两款平板在体验上的差异。让我告诉你我的个人经历。首先要说的是华为M6其实是和mini5对比的,但是ios体验其实差不多。 mini5的硬件明显高于mini4。......