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

axs*_*uul 3 regex

我想捕获XML标记中的属性中的文本.那是

<tag1 name="tag^*&,+">
Run Code Online (Sandbox Code Playgroud)

我想捕获name属性中的值(在这种情况下将是tag^*&,+).这个正则表达式

name=\"([a-z0-9]+)\"  
Run Code Online (Sandbox Code Playgroud)

如果属性中的文本是字母数字,则仅返回值.是否有任何语法将返回捕获的值,无论符号和字符是什么?谢谢!

rjh*_*rjh 6

冒着击败死马的风险,不要试图用正则表达式"解析"XML.使用您的编程语言的XML库.然后,选择所有tag1元素并获取其name属性的内容就变得非常简单.

您不仅可以更轻松地进行编码,而且还不必处理令人讨厌的事情,例如跨越多行的字符串,字符串转义(例如&quot;),导致正则表达式失败的奇怪边缘情况等.