MxL*_*evs 8 php ruby java regex perl
我想获取<tag></tag>标签对之间的任何值的内容.
<tag>
This is one block of text
</tag>
<tag>
This is another one
</tag>
Run Code Online (Sandbox Code Playgroud)
我想出的正则表达式是
/<tag>(.*)</tag>/m
虽然,它似乎是贪婪的,并且在括号内捕捉所有内容直到最后</tag>.我希望它尽可能地懒惰,以便每当它看到一个结束标记时,它会将其视为匹配组并重新开始.
如何编写正则表达式以便在给定方案中能够获得多个匹配?
我在以下链接中包含了我所描述的示例
http://rubular.com/r/JW5M3rnqIE
注意:这不是XML,也不是基于任何现有的标准格式.我不需要任何复杂的东西,比如一个带有漂亮解析器的完整库.
Ωme*_*ega 12
使用正则表达式模式:
/<tag>(.*?)<\/tag>/im
Run Code Online (Sandbox Code Playgroud)
懒惰(非贪婪).*?不是.*.
要查找多个匹配项,请使用:
string.scan(/<tag>(.*?)<\/tag>/im)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4422 次 |
| 最近记录: |