... AA BB sysodufsoufdds BB AA ...
AA
,BB
可以是任意连续的字符串,其中没有空格。
但我希望得到 outest对:AA
更多例子:
输入:
a HH CC abc CC HH c
输出:
HH
输入:
x YYYY j DD GG DD hsu DD GG DD k YYYY o
输出:
YYYY
为了使我的问题更加通用,如何将html中的特定标签与正则表达式进行匹配?我已经看过各种帖子讨论这个问题,但是他们都没有给出正则表达式的答案。相关问题是: I'm looking for a regular expression to remove a given (x)HTML tag from a string
答案 0 :(得分:1)
\b(\w{2,})\b.*\b\1\b
将匹配从第一系列连续字符到重复的所有内容。反向引用\1
将包含匹配的模式(例如,示例中的AA,HH或YYYY)。
\b
是强制字边界所必需的。
那就是说,我已经使用正则表达式来从格式良好的XML源中提取数据,在那里我完全了解结构,并且知道我感兴趣的标签永远不会嵌套等等 - 但是正则表达式的递归只是非常复杂,如果它可以工作(C#和Perl有一些支持,但它非常多毛。)
答案 1 :(得分:0)
我认为你需要在这里提及。像(试图避免任何正则表达式语言的细节):
(\w+) \w* (\w+) \w+ \1 \w* \2
第一次捕获是你的结果。
我假设单个空格分隔字符串以使其更清晰,您可能需要允许\s+
的任意空格,\w
(标识符字符:大致[a-zA-Z9-0_]
)是正确匹配字符串。