如何防止它接受每边一个空格的一个字母(一个字母的单词)?

时间:2021-02-14 22:31:59

标签: regex

^(?:\d{1,3}\h+)?\D\S*(?:\h+\S+){0,3}$

https://regex101.com/r/t2HCLm/1 它对我来说很好。 现在我想修改它

如何防止它接受每边一个空格的一个字母(一个字母单词)?我的意思是每个单词的字母限制应该超过 1 个字母。示例:这是一个 School=false 这是一个 School=true

This is a School=false 
This is the School=true

1 个答案:

答案 0 :(得分:1)

你可以使用

^(?:\d{1,3}\h+)?[^\d\s]\S+(?:\h+\S{2,}){0,3}$

regex demo

详情

  • ^ - 字符串开始
  • (?:\d{1,3}\h+)? - 一个、两个或三个数字后跟一个或多个水平空格的可选序列
  • [^\d\s] - 除数字和空格以外的字符
  • \S+ - 一个或多个非空格
  • (?:\h+\S{2,}){0,3} - 零到三个由一个或多个水平空格和两个或多个非空格字符组成的序列
  • $ - 字符串结尾。