gpt4 book ai didi

java - 正则表达式\p{Punct} 在 java 中缺少 unicode 标点符号

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:10:29 25 4
gpt4 key购买 nike

我写了一个小测试来演示

@Test
public void missingPunctuationRegex() {
Pattern punct = Pattern.compile("[\\p{Punct}]");

Matcher m = punct.matcher("'");
assertTrue("ascii puctuation", m.find());

m = punct.matcher("‘");
assertTrue("unicode puctuation", m.find());
}

第一个断言通过,第二个断言失败。您可能需要眯着眼睛才能看到它,但这是“左单引号”(U+2018),据我所知应该作为标点符号包含在内。

我如何匹配 Java 正则表达式中的所有标点符号?

最佳答案

您可以使用 UNICODE_CHARACTER_CLASS使 \p{Punct} 匹配所有 Unicode 标点符号的标志。

关于java - 正则表达式\p{Punct} 在 java 中缺少 unicode 标点符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23000150/

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