Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.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 RegEx-行末尾的查找组_Java_Regex - Fatal编程技术网

Java RegEx-行末尾的查找组

Java RegEx-行末尾的查找组,java,regex,Java,Regex,表达式位于行末尾时不匹配: (\b%%\b([^%])*\b%%\b) 测试字符串: djwk%%text%%doqdojd%%text.text.text%%kjwldjdflkljwfe%%body.text.text%% 因此: djwk_doqdojd_kjwldjdflkljwfe%%body.text.text%% 但最后一个没有(测试) 我缺少什么?假设您希望得到如下结果: djwk_doqdojd_kjwldjdflkljwfe_ 然后,只需尝试以下正则表达式: (\b%

表达式位于行末尾时不匹配:

(\b%%\b([^%])*\b%%\b)
测试字符串:

djwk%%text%%doqdojd%%text.text.text%%kjwldjdflkljwfe%%body.text.text%%
因此:

djwk_doqdojd_kjwldjdflkljwfe%%body.text.text%%
但最后一个没有(测试)


我缺少什么?

假设您希望得到如下结果:

djwk_doqdojd_kjwldjdflkljwfe_
然后,只需尝试以下正则表达式:

(\b%%\b([^%])*\b%%)
说明:

您提供的正则表达式上的最后一个“\b”强制字符“%%”不能是目标字符串上的最后一个元素

希望这对你有帮助


干杯,尼古拉斯。

奇怪。。。它是有效的。。。但为什么会发生这种情况\b没有检测到eol?实际上,不是真的。。。“\b”匹配。因此,当您指定在双精度“%”之后必须有一个成功匹配时,它与传递的字符串末尾的匹配不匹配。我建议你看一下,在那里你可以理解你的正则表达式的每一部分。干杯