佚名通过本文主要向大家介绍了邮箱正则表达式js,js正则表达式,js正则表达式验证,js正则表达式语法,js手机号码正则表达式等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:关于正则表达式JS正回顾后发问题
描述:
解决方案1:
描述:
我写了一个简单的正则表达式,想匹配标题中的文本,Html如下:
<h1>you are my little princess!</h1>
当前我想写一个最基本的正则匹配,提取文本 you are my little princess!
我写的正则表达式如下:
(?<=<h1>)[\s\S]*?(?=</h1>)
但是我发现(?<=<h1>)无法匹配,我搜索的很多关于回顾后发匹配的文章,见别人也是这样写的。
但是我现在这种写法,我在在线的正则表达式站点测试(http://tool.chinaz.com/regex/),发现无法匹配((?=</h1>) 可以匹配)。
我实在是找不到原因,希望有懂正则表达式的前辈可以帮忙,解决我的疑问~
非常感谢!
解决方案1:
javascript目前不支持反向预查
解决方案2:正则表达式有很多种方言,每个方言下面的实现并不相同,就这个问题而言的话,就是javascript确实并不支持这种反向匹配的语法
你的正则表达式本身也还有bug,匹配 </h1> 的 / 没有转义,应该是 <\/h1>
这个正则表达式写的也太繁琐了,给你个简单的(并且也更通用,在不同语言上)
var re = /<h1>(.*?)<\/h1>/;
var result = "<h1>you are my little princess!</h1>".match(re);
console.log(result[1]);