Java 我需要关于正则表达式的帮助,以允许带有字符的数字
条件:Java 我需要关于正则表达式的帮助,以允许带有字符的数字,java,regex,Java,Regex,条件: 123 not valid 123 A valid abc123 valid abc123Ab valid 我必须应用正则表达式强制字符和数字 (([a-zA-Z\s])*(\d{1,})([a-zA-Z\s]){1,}|([a-zA-Z\s]){1,}(\d{1,})([a-zA-Z\s])*) 此表达式的第一部分将确保字符串可以不带任何字母开始,但至少必须有1个数字,并且应该以1个或多个字母结束。第二部分将确保字符串可以
123 not valid
123 A valid
abc123 valid
abc123Ab valid
我必须应用正则表达式强制字符和数字
(([a-zA-Z\s])*(\d{1,})([a-zA-Z\s]){1,}|([a-zA-Z\s]){1,}(\d{1,})([a-zA-Z\s])*)
此表达式的第一部分将确保字符串可以不带任何字母开始,但至少必须有1个数字,并且应该以1个或多个字母结束。第二部分将确保字符串可以以至少1个字母开头,后跟至少1个数字,然后后跟0或任意数量的字母。这将匹配任何以可选数字集开头,后跟空格、字母和数字组合的字符串。但它仍然匹配
123
(即123后跟空格
`)
下面将检查字符串中是否至少有一个字母与可选数字、空格和字母组合
[a-zA-Z\s\d]*[a-zA-Z]+?[a-zA-Z\s\d]*
匹配[a-zA-Z\s\d]
中的单个字符[]
- 量词
:在零次和无限次之间,尽可能多次,根据需要回馈[贪婪]*
- 量词:
在一次和无限次之间,尽可能少的次数,根据需要扩展[lazy]+?
[a-zA-Z\s\d]*[a-zA-Z]+?[a-zA-Z\s\d]*