Java 分隔符之间的正则表达式匹配
我试图找出一种方法来匹配配置文件中的域名。我的文件可能如下所示:Java 分隔符之间的正则表达式匹配,java,regex,replace,Java,Regex,Replace,我试图找出一种方法来匹配配置文件中的域名。我的文件可能如下所示: <abc="xyz">abc.com</abc> 我仍然想替换abc.com,所以我的正则表达式不起作用。如何纠正这个错误? 你可能想考虑在正则表达式中使用积极的前瞻和积极的观察。见: 正向前瞻的编写方式类似于THING1(?=THING2),它意味着查找THING1,然后是THING2 积极的look-behind类似于(?除了使用look-arounds,您还可以使用标准的捕获组来实现这一点 首先,定
<abc="xyz">abc.com</abc>
我仍然想替换abc.com,所以我的正则表达式不起作用。如何纠正这个错误? 你可能想考虑在正则表达式中使用积极的前瞻和积极的观察。见: 正向前瞻的编写方式类似于
THING1(?=THING2)
,它意味着查找THING1
,然后是THING2
积极的look-behind类似于
(?除了使用look-arounds,您还可以使用标准的捕获组来实现这一点
首先,定义你要找的东西
当它出现在标记中时,查找abc.com
,
和
以及结束标记的开头
一些东西([a-z]+\)*abc\.com(\.[a-z]+)*
和相关:你在找吗?如在$1随机$2 abc.commmmm=>abc.commmmm text.abc.com.net=>text.random.net [abc=“xyz”]text.abc.com.net[/abc]=>[abc=“xyz”]text.abc.com.net[/abc] abc com=>abc com abc.com.fr=>random.fr www.abc.com=>www.random
\b(abc\.com)\b
?(编辑:逃离该点!)尝试regex@svasa那是什么魔法!?所有关于“但它也会匹配”和“但它不会匹配”的评论在这个问题上和gwcoderguy的回答都表明规范不足–问题陈述不清楚。这些陈述正确吗?(a)匹配文本字符串abc.com
(b)仅当它出现在
和
和之间,谢谢,但是test.abc.com.common也应该提供一个匹配项,这不会,对吧?所以当前面有<或a时,您希望替换abc.com。否则,我不确定text.abc.com和abc.comm之间的区别,调整为在一个期间包含abc.com<或>
<abc="xyz">text.abc.com.net</abc>
<abc="xyz">abc.com</abc> => <abc="xyz">random</abc>
<abc="xyz">abc.commmmm</abc> => <abc="xyz">abc.commmmm</abc>
<abc="xyz">text.abc.com.net</abc> => <abc="xyz">text.random.net</abc>
[abc="xyz"]text.abc.com.net[/abc] => [abc="xyz"]text.abc.com.net[/abc]
<abc="xyz">abc-com</abc> => <abc="xyz">abc-com</abc>
<abc="xyz">abc.com.fr</abc> => <abc="xyz">random.fr</abc>
<abc="xyz">www.abc.com</abc> => <abc="xyz">www.random</abc>