Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 分隔符之间的正则表达式匹配_Java_Regex_Replace - Fatal编程技术网

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>