小编Obl*_*ial的帖子

Java,无法让正则表达式工作

我在网上看到了以下正则表达式,并想将其实现到我的 Java 应用程序中(使用 java.util.regex)。

\n\n
(?<=(<Anhang>))(\\w|\\d|\\n|[().,\\-:;@#$%^&*\\[\\]"\'+\xe2\x80\x93/\\/\xc2\xae\xc2\xb0\xe2\x81\xb0!?{}|`~]| )+?(?=(<\\/Anhang>))\n
Run Code Online (Sandbox Code Playgroud)\n\n

这应该与 中包含的任何内容匹配\'<Anhang>\'

\n\n

它在 JavaScript 引擎中工作正常,但我无法让它在 Java 中工作。

\n\n

在这里,我使用 JavaScript 引擎在regex101上针对此文本进行了测试:

\n\n
BLALBLA BLA BLA <Anhang> \ngonegone gone gone ,os .psd\n</Anhang> ajdajadw\n
Run Code Online (Sandbox Code Playgroud)\n\n

产生以下结果:

\n\n

在此输入图像描述

\n\n

所以我继续尝试在“ Java正则表达式测试器”中使用它,但它要么与文本不匹配,要么存在语法错误。\n我知道我必须转义某些字符,但我只是没有让它工作,这是我尝试过的:

\n\n
(?<=(<Anhang>))(\\\\w|\\\\d|\\\\n|[().,\\-:;@#$%^&*\\[\\\\]\\"\'+\xe2\x80\x93/"/\xc2\xae\xc2\xb0\xe2\x81\xb0!?{}|`~]| )+?(?=(<\\"Anhang>))\n\n(?<=(<Anhang>))(\\\\w|\\\\d|\\\\n|[().,\\-:;@#$%^&*\\[\\\\]\\"\'+\xe2\x80\x93/"/\xc2\xae\xc2\xb0\xe2\x81\xb0!?\\{\\}|`~]| )+?(?=(<\\"Anhang>))\n\n(?<=(<Anhang>))(\\\\w|\\\\d|\\\\n|[().,\\\\\\\\-:;@#$%^&*\\[\\\\]\\"\'+\xe2\x80\x93/"/\xc2\xae\xc2\xb0\xe2\x81\xb0!?\\{\\}|`~]| )+?(?=(<\\"Anhang>))\n
Run Code Online (Sandbox Code Playgroud)\n

java regex pattern-matching

0
推荐指数
1
解决办法
571
查看次数

标签 统计

java ×1

pattern-matching ×1

regex ×1