使用正则表达式解析HTML解析的文本

时间:2018-04-20 16:50:03

标签: regex xml string

根据从服务器返回的以下文本,存储用于标记用户的HTML解析文本字符串,如何在此处使用正则表达式来命名“Dave Park”:

[u=8367|Dave Park] 

我尝试了以下正则表达式,但无济于事:

|(\\w*)]

2 个答案:

答案 0 :(得分:2)

出于某种原因,你似乎已经逃脱了你不应该逃脱的东西,并且没有在正则表达式中转义了需要转义的几个特殊符号。

采用完整模式,并转出正确的部分并添加捕获组,您应该最终得到:

\[u=\d+\|([^\]]+)\]

这匹配文字[括号,u=字符串后跟多个数字,然后是文字|,然后是包含任何非关闭字符的组{{1括号,最后是文字结束]括号。

Test it out yourself

我有点想知道你为什么不在第一部分中捕获明显的ID,但是,你可以通过在我发布的模式中围绕]放置圆括号来做到这一点。 / p>

答案 1 :(得分:0)

你非常接近。你需要逃避|字符并将空格包含为捕获组中的合法字符。所以像这样:

\|([\w ]*)]