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