正则表达式的问题,为什么匹配不到结果呢?

<liclass="stitle">sdfsdf</li>以上的内容为什么正则<liclass=\"stitle\">(.*?)<\/li>匹配不到... <li class="stitle">
sdfsdf
</li>

以上的内容为什么正则<li class=\"stitle\">(.*?)<\/li>
匹配不到
展开
 我来答
飲鴆_止渴
推荐于2016-09-29 · TA获得超过1232个赞
知道小有建树答主
回答量:400
采纳率:0%
帮助的人:534万
展开全部

原因很简单,因为.不匹配换行符:

.
匹配除换行符意外的任意字符


所以,你想匹配的“任意字符”中,包含有换行符的话,可以使用一对相反的匹配来匹配任意字符,如:

\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 这里出问题了,在正则表达式里面 {}表示次数的,所以想要匹配{} 前面必须转义,应该加'\'
注意:一定要加同时两个\\
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yugi111
推荐于2018-04-15 · TA获得超过8.1万个赞
知道大有可为答主
回答量:5.1万
采纳率:70%
帮助的人:1.3亿
展开全部
var reg = /\<li\s*[^\>]+\>[^\<]*\<\/\s*li\s*\>/g;
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式