正则表达式(.*?)是什么意思

这个自表达式匹配的是什么?我是从一个函数里面看到的,完整的是这样:functionsplitStr(data){varre=/^[\$a-zA-z\u4e00-\u9fa... 这个自表达式匹配的是什么?我是从一个函数里面看到的,完整的是这样:
function splitStr(data){
var re=/^[\$a-zA-z\u4e00-\u9fa5 ]*(.*?)[a-zA-z\u4e00-\u9fa5 ]*$/
data=data.replace(re,'$1')
return parseFloat(data)
}
比如传入参数是:dfsdfs343dsf334,则返回343
展开
 我来答
百度网友6ca0ba3
2011-09-08 · TA获得超过1489个赞
知道小有建树答主
回答量:360
采纳率:0%
帮助的人:570万
展开全部
*?
是惰性匹配,就是匹配尽可能少的次数。
.*?的意思是匹配任意字符,尽可能少的次数。

比如:abaaaaabb 用 a.*b去匹配,会匹配到abaaaaabb 全部,应为正则默认贪婪匹配,找到第一个b之后,发现后面还有b,会一直匹配下去。

所以 可以使用贪婪匹配,a.*?b 这样的话, 只会匹配尽可能少的次数 就会匹配到 ab

还有问题hi我。
zjw15940053970
2011-09-08
知道答主
回答量:45
采纳率:0%
帮助的人:15.4万
展开全部
data=data.replace(re,'$1')
return parseFloat(data)
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户39433
2011-09-08 · TA获得超过186个赞
知道答主
回答量:457
采纳率:0%
帮助的人:297万
展开全部
[a-zA-Z]\\d\\d(\\d|\\d)?
[a-zA-Z]第一位必须是字母;
d后面跟3个数字;
d可以是一个数字,也可以是两个数字;
(\\d|\\d)两个数字加一个符号"|"加3个数字
?最后再跟一个字符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式