gpt4 book ai didi

java - "\\p{javaUpperCase}.*\\."模式到底是如何运作的?

转载 作者:行者123 更新时间:2023-11-30 04:41:19 25 4
gpt4 key购买 nike

我有以下字符串:“Perl 是唯一一种在 RSA 加密前后看起来相同的语言。” :)此模式 "\\p{javaUpperCase}.*\\." 查找大写字符和句点。它对该字符串返回 true,但如果我删除单词“Perl”,它会给我 false。这是为什么?还有“RSA”这个词,也是大写的。

\p{javaUpperCase} - 代表大写字符
. 表示大写字母之后的任何字符
* 是贪婪量词,一次或多次
\\. - 句号。

我哪里错了?为什么只看开头和结尾?

最佳答案

可能是因为它试图匹配整个字符串。 (引用:http://www.regular-expressions.info/java.html“重要的是要记住,String.matches() 仅在整个字符串可以匹配时才返回 true”)。根据您使用的正则表达式库/函数,可能需要对所有内容进行匹配。

如果没有“Perl”,字符串不会以大写字符开头,因此即使子字符串匹配,整个字符串也不会匹配。

尝试 .*(\p{javaUpperCase}.*\.).* 来匹配子字符串。

两端添加的 .* 允许在感兴趣的子字符串的任一端添加额外的字符。

关于java - "\\p{javaUpperCase}.*\\."模式到底是如何运作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12226473/

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