2015-04-01 90 views
-2

条件数:我需要的正则表达式帮助,以便与字符

123   not valid 
123 A   valid 
abc123  valid 
abc123Ab  valid 

我不得不用数字应用正则表达式强制性质?

+2

你尝试过什么吗? – JFPicard 2015-04-01 13:05:55

+0

您可以使用在线工具来实现测试您的正则表达式,如:https://www.debuggex.com/ – Richard 2015-04-01 13:22:37

回答

0
(([a-zA-Z\s])*(\d{1,})([a-zA-Z\s]){1,}|([a-zA-Z\s]){1,}(\d{1,})([a-zA-Z\s])*) 

该表达式的第一部分将确保的字符串可以就没有任何的字母但ATLEAST 1位必须存在,并应与1个或许多信结束。第二部分将确保字符串可以以至少1个字母开头,其后是至少1个数字,然后是0或任意数量的字母。

1

这将匹配任何字符串,以可选的一组数字开头,后面跟着空格,字母和数字的组合。但它仍然匹配123_(这是123 followed by a space`)

^\d*[\sa-zA-Z0-9]+$ 

下面将检查您是否已经在你的字符串与可选的数字,空格和字母组合的至少一个字母。

[a-zA-Z\s\d]*[a-zA-Z]+?[a-zA-Z\s\d]* 
  • [a-zA-Z\s\d]匹配存在于[]单个字符。之间的零和无限的时间,尽可能地,用之于根据需要多次[贪婪]
  • 量词:
  • 量词*+?之间一个和无限的时间,尽可能少的时间尽可能,扩大根据需要[懒]