正则表达式用于固定长度的字符串,从多个长度不同的单词开始

时间:2019-10-08 15:02:10

标签: regex

我正在尝试创建一个正则表达式,该正则表达式匹配的字符串长度为 10个字符,并且必须以“ ESZ”,“ XXZ”,“ H”或“ A2 / 10”开头”。 我尝试过类似的操作,但是由于起始单词的长度变化,我无法指定字符串的总长度:

      ^(ESZ|XXZ|H|A2/10).{5,9}$

在这种情况下如何将字符串的总长度指定为'10'?

1 个答案:

答案 0 :(得分:2)

由于备选方案很少,为什么不使用Header unset Upgrade 来全部指定呢?

https://regex101.com/r/5BwTWP/1

编辑:

这可以通过以下方法实现:^(ESZ.{7}|XXZ.{7}|H.{9}|A2\/10.{5})$

https://regex101.com/r/5BwTWP/3

此正则表达式首先进行前瞻,以确保字符串中包含10个字符。在正则表达式匹配之前检查(?=.{10}$)(ESZ|XXZ|H1|A2\/10)之类的事情也应该做。

我仍然认为第一种方法是最简单,最有效的。