java正则表达式匹配

时间:2010-08-17 09:19:06

标签: java html regex matcher

什么是可以匹配以下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 个答案:

答案 0 :(得分:3)

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

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

它不符合这些:

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

也就是说,模式类似于

  

tag <CONTENT> tag

“前缀”和“后缀”都显示相同的 tag 。标签由零个或多个小写字母组成。内容由零个或多个大写字母组成。前缀部分匹配且captured by group 1,然后使用反向引用\1再次为该后缀匹配该字符串。

[…]character class。像[aeiou]这样的东西匹配任何一个小写元音。 [^…]否定的字符类。 [^aeiou]除了小写元音之外的任何内容匹配。

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

答案 1 :(得分:1)

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

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

祝你好运!

答案 2 :(得分:0)

关闭袖口我觉得它应该像(.*)<XYZ>\1

答案 3 :(得分:0)

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

这是我给你的信息给你的唯一建议。