Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么java无法使用正则表达式_Java_Regex - Fatal编程技术网

为什么java无法使用正则表达式

为什么java无法使用正则表达式,java,regex,Java,Regex,我用扫描器读取regexstr.matches(\\D+”)写了一个条件,但在输入字符+数字时,该测试失败,例如3x或e3,但不应该发生。 它应该在字符串中的任何位置传递任何非数字出现,即使它是一个符号。\D与任何非数字字符匹配,因此如果传递一个包含数字的字符串,它当然会失败 如果只想匹配字符和数字,可以执行以下操作: matches("[a-zA-Z0-9"]+); \D匹配任何非数字字符,因此,如果您向它传递一个包含数字的字符串,它当然会失败 如果只想匹配字符和数字,可以执行以下操作: m

我用扫描器读取regex
str.matches(\\D+”)
写了一个条件,但在输入字符+数字时,该测试失败,例如3x或e3,但不应该发生。
它应该在字符串中的任何位置传递任何非数字出现,即使它是一个符号。

\D与任何非数字字符匹配,因此如果传递一个包含数字的字符串,它当然会失败

如果只想匹配字符和数字,可以执行以下操作:

matches("[a-zA-Z0-9"]+);

\D匹配任何非数字字符,因此,如果您向它传递一个包含数字的字符串,它当然会失败

如果只想匹配字符和数字,可以执行以下操作:

matches("[a-zA-Z0-9"]+);

\D匹配任何非数字字符,因此,如果您向它传递一个包含数字的字符串,它当然会失败

如果只想匹配字符和数字,可以执行以下操作:

matches("[a-zA-Z0-9"]+);

\D匹配任何非数字字符,因此,如果您向它传递一个包含数字的字符串,它当然会失败

如果只想匹配字符和数字,可以执行以下操作:

matches("[a-zA-Z0-9"]+);

至少有一次非数字事件应该在那里,这就是我要说的,应该通过

这个怎么样

*\D.*

你可以


至少有一次非数字事件应该在那里,这就是我要说的,应该通过

这个怎么样

*\D.*

你可以


至少有一次非数字事件应该在那里,这就是我要说的,应该通过

这个怎么样

*\D.*

你可以


至少有一次非数字事件应该在那里,这就是我要说的,应该通过

这个怎么样

*\D.*


您可以。

如果
m
匹配器
,则
m.matches
仅当整个字符串与模式匹配时才会返回
true
。如果只想检查字符串的某些部分是否匹配,可以使用
m.find
而不是
m.matches
。(注意:我不确定这是否是您实际遇到的问题。)

如果
m
匹配器,则
m.matches
仅当整个字符串与模式匹配时才返回
true
。如果只想检查字符串的某些部分是否匹配,可以使用
m.find
而不是
m.matches
。(注意:我不确定这是否是您实际遇到的问题。)

如果
m
匹配器,则
m.matches
仅当整个字符串与模式匹配时才返回
true
。如果只想检查字符串的某些部分是否匹配,可以使用
m.find
而不是
m.matches
。(注意:我不确定这是否是您实际遇到的问题。)

如果
m
匹配器,则
m.matches
仅当整个字符串与模式匹配时才返回
true
。如果只想检查字符串的某些部分是否匹配,可以使用
m.find
而不是
m.matches
。(注意:我不确定这是否是您实际遇到的问题。)

此调用无法匹配
3e
,因为:

str.matches("\\D+")
同:

str.matches("^\\D+$")
因为
String#matches
接受给定的正则表达式并匹配完整的输入

要确保至少有一个非数字,最好使用此基于前瞻的正则表达式:

str.matches("(?=\\d*\\D).*")

其中,
(?=\\d*\\d)
为正向前瞻,确保给定输入中至少有一个非数字。

此调用无法匹配
3e
,因为:

str.matches("\\D+")
同:

str.matches("^\\D+$")
因为
String#matches
接受给定的正则表达式并匹配完整的输入

要确保至少有一个非数字,最好使用此基于前瞻的正则表达式:

str.matches("(?=\\d*\\D).*")

其中,
(?=\\d*\\d)
为正向前瞻,确保给定输入中至少有一个非数字。

此调用无法匹配
3e
,因为:

str.matches("\\D+")
同:

str.matches("^\\D+$")
因为
String#matches
接受给定的正则表达式并匹配完整的输入

要确保至少有一个非数字,最好使用此基于前瞻的正则表达式:

str.matches("(?=\\d*\\D).*")

其中,
(?=\\d*\\d)
为正向前瞻,确保给定输入中至少有一个非数字。

此调用无法匹配
3e
,因为:

str.matches("\\D+")
同:

str.matches("^\\D+$")
因为
String#matches
接受给定的正则表达式并匹配完整的输入

要确保至少有一个非数字,最好使用此基于前瞻的正则表达式:

str.matches("(?=\\d*\\D).*")

其中,
(?=\\d*\\d)
为正向前瞻,确保给定输入中至少有一个非数字。

为什么要通过
\D
是一个非数字字符。至少有一次非数字出现应该在那里,这就是我要说的,应该通过。“str”是一个用Scanner类读取的字符串为什么应该通过
\D
是一个非数字字符。至少有一次非数字出现应该在那里,这就是我要说的,应该通过。“str”是一个用Scanner类读取的字符串为什么应该通过
\D
是一个非数字字符。至少有一次非数字出现应该在那里,这就是我要说的,应该通过。“str”是一个用Scanner类读取的字符串为什么应该通过
\D
是一个非数字字符。至少有一次非数字出现在那里,这就是我要说的,应该通过。“str”是用Scanner classi读取的字符串我只想在字符串中的任何位置传递非数字匹配项,即使它是符号。我只想在字符串中的任何位置传递非数字匹配项,即使它是符号。我只想在字符串中的任何位置传递非数字匹配项,即使它是符号。我只想传递非数字匹配项字符串中的任意位置,即使它是符号。非数字出现应出现在任意位置,即y