正则表达式最小匹配的写法
假设有这么一串字符: <p class=MsoNormal style='text-indent:31.5pt'>
<a name="abc">
<span lang=EN-US>1.</span>
</a>
<span style='font-family:宋体'>负责代码编写</span>
</p>
<p class=MsoNormal style='text-indent:31.5pt'>
<a name="def">
<span lang=EN-US>2.</span>
</a>
<span style='font-family:宋体'>负责单元测试;</span>
</p>
<p class=MsoNormal style='text-indent:31.5pt'>
<a name="ghi">
<span lang=EN-US>3.</span>
</a>
<span style='font-family:宋体'>完成上级领导交办的其它任务。</span>
</p>
知道 <p class=MsoNormal style='text-indent:31.5pt'>
<a name="ghi">
<span lang=EN-US>3.</span>
</a>
<span style='font-family:宋体'>完成上级领导交办的其它任务。</span>
</p>
刚开始的时候,这样写: <p[sS]*?<a name="ghi"[sS]*?</p>
却拿到了全文。参考正则表达式30分钟入门教程: <p[^>]*?>[^<]*?<a name="ghi"[sS]*?</p>
表示的意思:匹配 <p 开头的,紧接着任意个不是>的字符,这些字符越少越好,直到遇到>字符,然后紧接着任意个不是<的字符,这些字符越少越好,直到遇到 <a name="ghi"
然后紧接着是任意个字符,这些字符越少越好,直到遇到 </p>
为止,循环查找符合上述条件的字符串。 原文来自http://www.iteye.com/problems/98084,经过整理。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- extjs4下datefield+timefield组成datetimefield
- ruby-on-rails – 为什么Ruby 2.5.0在Rails 5.1.4中没有显示
- ruby – 迭代时添加到数组
- Dojo 1.6 官方教程:Dojo中的事件
- 跨域问题之jsonp
- XML Schema介绍
- Flex Spark List with custom scroll bar and itemrenderer
- OpenCV保存成XML(FileStorage)和CSV(重载<<运算符)文
- NoSQL_教程三_Cassandra_用Java代码操作 Cassandra
- jsoncpp封装和解析字符串、数字、布尔值和数组