gpt4 book ai didi

java - 很难创建涉及特殊字符的正则表达式

转载 作者:行者123 更新时间:2023-12-01 13:36:14 25 4
gpt4 key购买 nike

我想创建一个匹配以下字符的正则表达式

'<', '>', '(', ')', '[', ']', '\', '.', ',', ';', ':', '@', '"'

我构建了字符串

String reg = "< | > | \\( | \\) | \\[ | \\] | \\\\ | \\. | , | ; | : | @ | \" | \\s"

但是,当我执行以下操作时,它似乎不起作用。

String s = "h\"; //this is passed in via console input, read by Scanner() if(s.matches(".*"+reg+".*")
//do stuff

这不起作用。我不确定如何正确地将该字符串表示为正则表达式,我想并希望有人能指出哪里出了问题。

最佳答案

不要使用alternation为此,请使用 character class相反。

[<>()\[\]\\,\.;:@\"]

字符类与方括号内的字符之一匹配。

在 Java 中:

String reg = "[<>()\\[\\]\\\\,\\.;:@\"\\s]"

关于java - 很难创建涉及特殊字符的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21251566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com