任何使用正则表达式的人都很方便吗?..
我正在运行以下RegEx:
<body>.*</body>
在以下文字中:
<text>initial text</text>
<comment>
<user>
6
</user>
<date>
635277984371174139
</date>
<body>
Recorded clinical data: 0132.00 Managing director dawd
</body>
</comment>
<comment>
<user>
6
</user>
<date>
635277984559612059
</date>
<body>
Recorded clinical data: 0132.00 Managing director ii
</body>
</comment>
<comment>
<type>
Completed
</type>
<user>
6
</user>
<date>
635277984668163579
</date>
<body>
kkk
</body>
</comment>
然而,这只会导致一场比赛...我希望有3场比赛......任何人都知道为什么?
答案 0 :(得分:3)
你不应该用正则表达式解析HTML(除非是HTML的简单和不变的片段),你冒着奇怪的错误:RegEx match open tags except XHTML self-contained tags
您的正则表达式失败,因为*
是贪心量词。这意味着它将尽可能地“吃掉”:这将从第一个<body>
到最后一个匹配,包括内部的<body>.*?</body>
。你想要的是
?
{{1}}使量词非贪婪,它会在第一场比赛时停止。
您应该编辑您的问题,因为您的HTML目前不可读。
答案 1 :(得分:1)