我需要一个能在“[url]”和“-8”之间返回文本的正则表达式。
[url]%252FShowOneUserReview-g298570-d301416-
r63722677%26sl%3Dzh%26tl%3Den_US%26hl%3Den_US%26ie%3DUTF-8
它位于<a href/redirect..
并与另一个网址结合使用
url=http://translate.google.com/translate[url]
答案 0 :(得分:1)
当你提出正则表达式问题时,你应该总是澄清你正在使用哪种语言,而你的问题开始时是相当模糊的,但基本上你想要的模式似乎是:
\[url\](.*)-8
这会将您想要的部分捕获到第1组(请参阅rubular.com)。
这如何转化为您的语言可能会有所不同;您可能需要将\
加倍,例如Java的。如果这种模式不起作用,那么只需将一些测试字符串添加到rubular中,并明确您的期望,我将与您合作。
页面中可能有一堆[url]...[/url]
“元素”,你只想抓住那些ShowOneUserReview
的元素?那么也许你想要的东西(see it on rubular.com):
\[url\]([^[]*ShowOneUserReview[^[]*)\[\/url\]
这会抓取其中包含[url]...[/url]
的所有ShowOneUserReview
。这不是万无一失的,但除非你对要求非常清楚,否则我们只能猜测你想要做什么。
答案 1 :(得分:0)
以下内容应与[url] ... -8
匹配:
\[url\].*-8
答案 2 :(得分:0)
尝试匹配
\[url\](\S+-8)
这将匹配任何非空格字符的运行,直到最后一个-8
。我选择\S
而不是.
,因为否则您可能会匹配太多(超过链接本身)。
使用
可能更安全\[url\](\S+-8)\b
确保我们不匹配
[url]%252FShowOneUserReview-8
在
[url]%252FShowOneUserReview-8570-d301416-r63722677%26sl%3Dzh%26tl%3Den_US%26hl%3Den_US%26ie