2015-10-06 43 views
0

我有这种模式.*?[a-z]([a-z])([a-z])([a-z]).*?(\s+)(\d+)从一些在线发电机,但它不工作。Html5输入模式

我需要图案,其允许:

“最小3焦化长度串,下一个单一的空间,和下一个最低1个字符型整数” [ABC 1]或相同,但不同的顺序“最低1个炭整数,下一个单个空间,接下来至少3个字符长度的字符串“[3 gtf]”。

谢谢。

回答

1

尝试这一个:

\d+\s\w{3,}|\w{3,}\s\d+ 

它或者符合条件:

  1. 一个或多个数字(\d+),随后通过单个空格(\s),接着是三个或更多个字字符( \w{3,})(这是[a-zA-Z0-9],如果您愿意,可以用[a-zA-Z]替换此部分)。
  2. 三个或更多单词字符(这是[a-zA-Z0-9],如果您愿意,可以用[a-zA-Z]替换这部分),然后是单个空格,然后是一个空格或更多数字。

Regex101

+0

它不符合最低3个字符的要求 – Asunez

+0

@Asunez - 谢谢! – Amit

1

下面的表达式应该做你的描述:

[a-z]{3,}\s\d+|\d+\s[a-z]{3,} 

一些注意事项:

  1. {3,}结构允许你指定在一定范围内重复。一般来说,它是{min,max},但您可以忽略最小或(如此处)最大值以拥有开放式范围。您还可以通过指定单个数字来指定确切的重复次数,例如, {99}

  2. 该表达式本质上是两个完整的表达式交替切换。正则表达式不允许您以任何顺序说“完全是这些东西”。

  3. 我已经使用[a-z]来匹配非数字部分中的字符,因为这是您在原始示例中所做的。