Html5 输入模式

Html5 input pattern

我有这个模式 .*?[a-z]([a-z])([a-z])([a-z]).*?(\s+)(\d+) 来自一些在线生成器,但它不起作用。

我需要允许的模式:

"minimum 3 char length string, next single space, and next minimum 1 char integer" [abc 1] 或相同但顺序不同 "minimum 1 char integer, next single space, and next minimum 3 char length string" [3 gtf].

谢谢。

试试这个:

\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

以下表达式应该符合您的描述:

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

一些注意事项:

  1. {3,} 结构允许您指定给定范围内的重复次数。通常,它是 {min,max},但您可以省略 min 或(如此处)max 以获得开放式范围。您还可以通过指定单个数字来指定确切的重复次数,例如{99}.

  2. 表达式本质上是两个完整的表达式交替切换。正则表达式不允许你说 "exactly these things, in any order".

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