正则表达式在字符串中具有强制字符

时间:2019-02-18 13:53:29

标签: regex

我需要创建一个正则表达式来对PO进行数据验证。 PO应该以{{1​​}}开头,并且必须是8到12个字符,并且必须包含例如 T 之类的字母。应该匹配,例如:

PO

我写了这样的东西,但是没用。

PO123T5678
PO1T34567T12
PO12345678912T

3 个答案:

答案 0 :(得分:0)

尝试:PO(?=[1-9]*T)[1-9T]{8,12} 第一位将确保字符串以PO开头,后跟一些整数和T。然后,下一个括号中的字符将需要8-12次。

答案 1 :(得分:0)

这:^PO(?=[0-9]*?T)[0-9T]{8,12}$似乎可以完成这项工作:请参见DEMO
它使用肯定的前瞻性来确保T,然后检查其余部分。

答案 2 :(得分:0)

假设您的正则表达式支持它,我会使用积极的前瞻性:

^PO(?=.*T)([a-zA-Z0-9]{6,10})$

DEMO