“\\d”在java中是如何工作的?

“\\d”在java中是如何工作的?,java,regex,Java,Regex,示例:ifstr.matches.*\\d* 我最近使用它来检查数组的值是否包含数字 背后的逻辑是什么?为什么有。*.*呢?\\d是什么意思 编辑:谢谢大家!如此快速的响应:*意味着任何字符序列。它匹配零个或更多字符 \\d表示数字 因此,您可以匹配包含一个数字的所有字符串。有关更多信息,请参阅类的文档。这是一个正则表达式 . 指任何字符 *表示包括0在内的任何数字![前面的匹配者] \\d是一个数字 所以,如果你把它们放在一起,这个正则表达式匹配一个字符串,它包含以下内容:任意数量的字符,然后

示例:ifstr.matches.*\\d*

我最近使用它来检查数组的值是否包含数字

背后的逻辑是什么?为什么有。*.*呢?\\d是什么意思

编辑:谢谢大家!如此快速的响应:

*意味着任何字符序列。它匹配零个或更多字符

\\d表示数字


因此,您可以匹配包含一个数字的所有字符串。有关更多信息,请参阅类的文档。

这是一个正则表达式

. 指任何字符 *表示包括0在内的任何数字![前面的匹配者] \\d是一个数字
所以,如果你把它们放在一起,这个正则表达式匹配一个字符串,它包含以下内容:任意数量的字符,然后是数字,然后是任意数量的字符。如果我们把这种形式化的描述翻译成更容易理解的描述,它只意味着一个字符串,其中某个地方有一个数字。

\d意味着如果有任何数字,但“\”是一个转义序列,因此使用“\”

在C中,还可以使用@.*\d* 在Java中不确定,但我觉得它应该可以工作

*表示任意数量的字符

. 符号匹配除换行符以外的任何字符。 *将后面的字符重复0次或更多次。 \d匹配任何数字。\\d中的额外\n用于从字符串中转义反斜杠。 所以。\\d。匹配任何单个字符、数字和任何单个字符。它将匹配以下内容:a1b、p3k和2@

.*\\d.*匹配0个或多个字符、一个数字和0个或多个字符。它将匹配以下各项:2、11、123、asdf6klj

如果要匹配1个或多个字符,可以使用+、{2、}、{3,5}等

+表示重复上一个字符1次或以上

{2,}表示重复前一个字符两次或更多次

{3,5}表示重复前面的字符3到5次

有关更多详细信息,您可以查看许多正则表达式教程,例如:


您是否尝试过查看javadocs以了解您正在使用的方法?暗示啊,我试着搜索它,但是javadocs的模式由于某种原因没有出现。我想在这里提问,以确保我能得到最直观的答案。谢谢你的提示。可能的副本请精确匹配任意字符序列,零个或多个。不是符号-“+”或“-”。和:至少包含一个数字。