根据从服务器返回的以下文本,存储用于标记用户的HTML解析文本字符串,如何在此处使用正则表达式来命名“Dave Park”:
[u=8367|Dave Park]
我尝试了以下正则表达式,但无济于事:
|(\\w*)]
答案 0 :(得分:2)
出于某种原因,你似乎已经逃脱了你不应该逃脱的东西,并且没有在正则表达式中转义了做需要转义的几个特殊符号。
采用完整模式,并转出正确的部分并添加捕获组,您应该最终得到:
\[u=\d+\|([^\]]+)\]
这匹配文字[
括号,u=
字符串后跟多个数字,然后是文字|
,然后是包含任何非关闭字符的组{{1括号,最后是文字结束]
括号。
我有点想知道你为什么不在第一部分中捕获明显的ID,但是,你可以通过在我发布的模式中围绕]
放置圆括号来做到这一点。 / p>
答案 1 :(得分:0)
你非常接近。你需要逃避|字符并将空格包含为捕获组中的合法字符。所以像这样:
\|([\w ]*)]