2

可以匹配以下2个字符串的正则表达式是什么。

Hi<Dog>Hi<Dog>在给定的文本中。

更新:

什么正则表达式会匹配这个?

<FONT FACE="Verdana" SIZE="16" COLOR="#0B333C" LETTERSPACING="0" KERNING="0">If you access the web site click the link below:<FONT SIZE="12"></FONT></FONT>

<FONT.*?<\/FONT>只匹配到第一个</FONT>

4

4 回答 4

3

该模式^([a-z]*)<[A-Z]*>\1$将匹配这些字符串(如 rubular.com 所示):

ab<XYZ>ab
<XYZ>
bleh<FOO>bleh
<>

它不会匹配这些:

ab<XYZ>de
x<XYZ>y
FOO<foo>FOO

也就是说,模式类似于

tag<CONTENT>tag

tag“前缀”和“后缀”都出现相同的情况。标签由零个或多个小写字母组成。内容由零个或多个大写字母组成。前缀部分由组 1 匹配和捕获,然后使用反向引用\1再次匹配该字符串作为后缀。

[…]一个字符类。like[aeiou]匹配任何一个小写元音。[^…]是一个否定字符类。[^aeiou]匹配除小写元音之外的任何一个。

作为 Java 字符串文字,模式是"^([a-z]*)<[A-Z]*>\\1$".

于 2010-08-17T09:28:07.297 回答
1

不确定您尝试做什么,但这捕获了所有可能相关的组:

([a-z]+)?(<[A-Z]+>)([a-z]+)?

祝你好运!

于 2010-08-17T09:30:12.380 回答
0

即兴表演,我认为应该是这样的(.*)<XYZ>\1

于 2010-08-17T09:22:10.227 回答
0

使用http://www.weitz.de/regex-coach/检查正则表达式是否匹配字符串

这是我可以用你给我们的信息给你的唯一建议。

于 2010-08-17T09:23:48.120 回答