gpt4 book ai didi

Java正则表达式错误

转载 作者:行者123 更新时间:2023-12-01 17:37:59 25 4
gpt4 key购买 nike

每当我输入以下内容时...

Pattern pmessage = Pattern.compile("\s*\p{Alnum}[\p{Alnum}\s]*");
Matcher mmessage = pmessage.matcher(message);
Matcher msubject = pmessage.matcher(subject);

我收到无效转义序列错误。有人知道为什么/如何解决这个问题吗?

最佳答案

对于适用于 Java native 字符集的 \p{Alpha} 版本,您需要使用

alphabetics = "[\\pL\\pM\\p{Nl]";

对于相同意义上的数字版本,您必须选择您想要的数字:

ASCII_digits    = "[0-9]";
all_numbers = "\\pN";
decimal_numbers = "\\p{Nd}"

因为哪一种适用因情况而异。我们假设您将这三个变量之一复制到数字变量中。

假设您需要基于上述定义的字母数字,您可以这样写:

 alphanumerics = "[" + alphabetics + numerics + "]";

但是,如果您所说的字母数字是程序标识符的 \w 含义,则必须添加一些内容。

 identifier_chars = "[\\pL\\pM\\p{Nd}\\p{Nl}\\p{Pc}[\\p{InEnclosedAlphanumerics}&&\\p{So}]]";

此问题在 this answer 中有详细讨论。 ,您还可以在其中找到我的一些 alpha 代码的链接,该代码会自动为您执行这些转换。我希望这个周末有机会重写它以占用更少的空间。

关于Java正则表达式错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4345629/

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