我正在尝试编写一个正则表达式来查找一个长xml字符串中的选择,然后拉出它找到的标记的第一个实例。
我当前的代码(提取每场比赛):(<action>(.*?)</action>)
示例代码:
<request guid="58004a1e-0c32-4002-a101-59fc28af5836">
<action>Sample/Action</action><date>"7/12/12"</date>
我尝试使用多种方法找到匹配第一个实例并忽略其他所有内容,检查并确保在当前匹配之前没有匹配,将其设置为完全匹配,等等但是它们都返回两个火柴。我无法设置正则表达式来查找特定的前导或尾随标记,因为它们可以更改。
答案 0 :(得分:1)
简单回答:停止。
你问的是错误的问题,因为在确定正则表达式是否是解决问题的合适方法之前,你已经决定使用正则表达式来解决问题。
C#和Java都有XML解析库,你最好不要使用其中的一个,而不是试图使用正则表达式复制它们的功能,这个任务通常是不可能的,因为XML不是常规的语言。
另请参阅this answer,尽管该问题与HTML有关。