//检查金额
var reg = /^[0-9]+(.[0-9]{2})?$/;
var str = "33.123" //
console.log(reg.test(str))
var str = "0.12" //0.12
console.log(reg.test(str))
var str = "12.00"
console.log(reg.test(str))
//提取网页图片假若你想提取网页中所有图片信息,可以利用下面的表达式。
var reg = /<img[^>]+src=['"]([^'"]+)['"]{1}.*?\/>/g;
var str = "<html><body><img src='http://www.baidu.com/1.jpg' /><img src='http://www.baidu.com/2.jpg'/></body></html>"
var let
while(ret = reg.exec(str)){
console.log(ret)
}
var url = "https://image.baidu.com/search/detail?ct=503316480&z=0&ipn=false&word=%E5%A4%B4%E5%83%8F&t="
function getparm(url,name){
var reg=new RegExp("(\\?|&)"+name+"=([^&]*)(&|$)","i")//注意\\?表示?开始的
var r = url.match(reg);
if(r != null){
return decodeURIComponent(r[2]);
}
return "";
}
console.log(getparm(url,"word"))
//贪婪匹配,惰性匹配
// 重复类量词都具有贪婪性,在条件允许的前提下,会匹配尽可能多的字符。
// ?、{n} 和 {n,m} 重复类具有弱贪婪性,表现为贪婪的有限性。
// *、+ 和 {n,} 重复类具有强贪婪性,表现为贪婪的无限性。
// {n,m}?:尽量匹配 n 次,但是为了满足限定条件也可能最多重复 m 次。
// {n}?:尽量匹配 n 次。
// {n,}?:尽量匹配 n 次,但是为了满足限定条件也可能匹配任意次。
// ??:尽量匹配,但是为了满足限定条件也可能最多匹配 1 次,相当于 {0,1}?。
// +?:尽量匹配 1 次,但是为了满足限定条件也可能匹配任意次,相当于 {1,}?。
// *? :尽量不匹配,但是为了满足限定条件也可能匹配任意次,相当于 {0,}?。
// 表达式 .* 就是单个字符匹配任意次,即贪婪匹配。
// 表达式 .*? 是满足条件的情况只匹配一次,即最小匹配或惰性匹配。
var s = "<html><head><title></title></head><body></body></html>";
var r = /(<.*>)(<.*>)/
var a = s.match(r);
console.log(a);
//左侧表达式匹配"<html><head><title></title></head><body></body></html>"
console.log(a[1]);
console.log(a[2]); //右侧表达式匹配“</html>”
var s = "<html><head><title></title></head><body></body></html>";
var r = /<.*?>/
var a = s.match(r); //返回单个元素数组["<html>"]
console.log(a);
var str = 'aaa<div style="font-color:red;">123456</div>bbb'
var r = /<.+?>/
console.log(">>>>7",str.match(r)) //<div style="font-color:red;">
var r = /<.+>/
console.log(">>>>7",str.match(r)) //<div style="font-color:red;">123456</div>