【发布时间】:2012-07-12 15:41:02
【问题描述】:
我正在尝试编写一个正则表达式来在一个长长的 xml 字符串中找到一个选择,然后提取它找到的第一个标签实例。
我当前的代码(提取每场比赛):(<action>(.*?)</action>)
示例代码:
<request guid="58004a1e-0c32-4002-a101-59fc28af5836">
<action>Sample/Action</action><date>"7/12/12"</date>
我已经尝试使用多种我发现的方法来匹配第一个实例并忽略其他所有内容,检查并确保在当前匹配之前没有匹配,将其设置为完全匹配等等,但它们都返回两个火柴。我无法设置正则表达式来查找特定的前导或尾随标签,因为它们可能会发生变化。
【问题讨论】:
-
为什么不使用 xml 解析器而不是正则表达式?
-
你写你可以得到所有个匹配,那么得到第一个应该很简单?
-
听起来你需要重新考虑你的数据结构/解析。最好立即获得它,而不是在您意识到它不适合您不断变化的需求时将其修复。