我有一个问题是要构建好的正则表达式来查找和替换。我需要替换许多.jsf
个文件中的所有网址。我希望XXX
用<c:url value="URL_WITHOUT_XXX"/>
替换溃疡。以下示例。
我坚持使用查找正则表达式"XXX(.*)"
并替换表达式"<c:url value="\1"/>"
,但我的find表达式与长字符串匹配,例如"XXX/a" style=""
,但需要仅匹配第一个{{1} (href结束)。有人帮忙吗?
我有:
"
我想:
<a href="XXX/a" style="">
<a href="XXX/b" >
<a href="XXX/c" ...>
PS:抱歉我的英语很差;)
修改 我在Eclipse中使用Find / Replace(正则表达式)
答案 0 :(得分:3)
您应该指定您正在使用的语言。
以下正则表达式符合您的要求:
<a href="XXX[^\"]*"
如果您想拥有某些特定价值,可以根据需要对正则表达式进行分组。例如:
<a href="(XXX[^\"]*)"
会在第一组中给你:
XXX/a
XXX/b
XXX/b
如果您只想拥有/a
,/b
和/c
,可以将其分组:
<a href="XXX([^\"]*)"
修改强>
我将解释<a href="XXX[^\"]*"
的作用:
<a href="XXX
"
零次或多次:[^\"]*
"
,这不是必需的当您执行:[^abc]
时,您告诉它匹配除a
,b
或c
之外的任何内容。
因此[^\"]
是:匹配"
以外的任何内容。
量词*
表示零次或多次,因此a*
将匹配空字符串,或a
,aa
,aaa
,. ..
最后一件事:群组
如果您希望保持整个匹配的值appart,以便您可以对其执行任何操作,则可以使用组:(something)
。