Regex 如何使用正则表达式捕获任何字符

Regex 如何使用正则表达式捕获任何字符,regex,Regex,我想捕获XML标记中属性中的文本。就是 <tag1 name="tag^*&,+"> 仅当属性中的文本为字母数字时,才会返回该值。是否有任何语法会返回捕获的值,而不管是什么符号和字符?谢谢 您应该使用: name=\"([^\"]+)\" 换句话说,捕获组可以被描述为“除结束引号以外的任何字符”签出中的至少一个 这将满足您的要求: ([^"]+) 将匹配任何字符 name = \"(.+)\" 似乎你最好使用XML解析器我不知道你使用的是哪种语言,但是每种语言都有一个

我想捕获XML标记中属性中的文本。就是

<tag1 name="tag^*&,+">
仅当属性中的文本为字母数字时,才会返回该值。是否有任何语法会返回捕获的值,而不管是什么符号和字符?谢谢

您应该使用:

name=\"([^\"]+)\"
换句话说,捕获组可以被描述为“除结束引号以外的任何字符”签出中的至少一个

这将满足您的要求:

([^"]+)

将匹配任何字符

name = \"(.+)\"

似乎你最好使用XML解析器我不知道你使用的是哪种语言,但是每种语言都有一个XML解析器。

冒着失败的风险,不要试图用正则表达式“解析”XML。使用编程语言的XML库。然后选择所有
tag1
元素并获取其
name
属性的内容就非常简单了


不仅编码更容易,而且不必处理诸如跨多行的字符串、字符串转义(例如,
”)、导致正则表达式失败的奇怪边缘情况等令人讨厌的事情。

当然还有强制性的“使用XML解析器,正则表达式不适合说废话。”。。“你对代表的渴望帮助和教唆阿克苏尔堕落到雷格克斯地狱@rjh:哈哈……虽然在这种情况下,他似乎有一个相当规则的子集,他正在寻找处理……也许只是炼狱?+1-警告说,有时你可能不想/不需要XML解析器的开销。勉强同意。。。如果您有一个巨大的文档,并且对XML将采用的形式非常有信心,那么正则表达式可能是一个有用且诱人的工具。但是我已经被他们火辣的吻烫了太多次了。谢谢你的建议,我会在将来研究的。你知道VBA有什么好的吗?是的,你可以找MSXML解析器。
name = \"(.+)\"