正则表达式的问题,为什么匹配不到结果呢?
<liclass="stitle">sdfsdf</li>以上的内容为什么正则<liclass=\"stitle\">(.*?)<\/li>匹配不到...
<li class="stitle">
sdfsdf
</li>
以上的内容为什么正则<li class=\"stitle\">(.*?)<\/li>
匹配不到 展开
sdfsdf
</li>
以上的内容为什么正则<li class=\"stitle\">(.*?)<\/li>
匹配不到 展开
4个回答
展开全部
原因很简单,因为.不匹配换行符:
.
匹配除换行符意外的任意字符
所以,你想匹配的“任意字符”中,包含有换行符的话,可以使用一对相反的匹配来匹配任意字符,如:
\w 匹配字母或数字或下划线
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
\W \w的反义,即匹配任意非字母,数字,下划线和汉字的字符
\S \s的反义,即匹配任意非空白符的字符
\D \d的反义,即匹配任意非数字的字符
\B \b的反义,即不是单词开头或结束的位置
这些可以组成四对任意字符的匹配,即\w\W,\s\S,\d\D,\b\B
用它们来匹配,像这样:
<li class=\"stitle\">([\s\S]*?)<\/li>
2018-08-04 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
{region 这里出问题了,在正则表达式里面 {}表示次数的,所以想要匹配{} 前面必须转义,应该加'\'
注意:一定要加同时两个\\
注意:一定要加同时两个\\
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2018-07-28 · 百度知道合伙人官方认证企业
尚学堂科技有限公司
北京尚学堂科技有限公司是一家从事JAVA、大数据、web前端、网络在线教育、互联网架构师、Android、ios技术开发、咨询为一体的软件公司。公司由海外留学人员和国内IT人士创建。
向TA提问
关注
展开全部
{region 这里出问题了,在正则表达式里面 {}表示次数的,所以想要匹配{} 前面必须转义,应该加'\'
注意:一定要加同时两个\\
注意:一定要加同时两个\\
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
var reg = /\<li\s*[^\>]+\>[^\<]*\<\/\s*li\s*\>/g;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询