使用正则表达式处理xml数据
使用正则表达式处理xml数据
这个问题已经在这里有了答案:
我有一个XML文件:
\"280242102176594-114236481365088358dsadsad #ADMIN...
我想取出和
之间的字符串。
我有一个正则表达式(.*?)
,但它返回带有标签的字符串。
你能帮我吗?
等待回应)
P.S.:对不起,我的英语很烂!
admin 更改状态以发布 2023年5月21日
正如其他人已经指出的那样,您可能会更安全、更清洁地使用 XML 解析器。
话虽如此,您已经得到了一个可以工作的正则表达式。只需确保检索捕获组#1。这会让您得到第一对括号内的内容。
如果您使用的是 C#,而不是在 Match
上调用 toString()
,请查看其 Groups
属性,然后获取其第一个元素:
string pattern = "(.*?) "; string input = "2802 4210 2176594 -11423648 1365088358 dsadsad #ADMIN "; Match match = Regex.Match(input, pattern); if (match.Success){ System.Console.WriteLine(match.Groups[1].Value); }
在这个 Ideone 片段中可以看到它的运作方式。
如果你想获取模式的所有匹配,可以使用 Regex.Matches()
,然后以同样的方式迭代 MatchCollection
中的每个 Match
。