-1

我需要为 PO 的数据验证创建一个正则表达式。PO 应该以PO8 到 12 个字符开头,并且必须包含像T这样的字母。应该匹配 if 是这样的:

PO123T5678
PO1T34567T12
PO12345678912T

我写了这样的东西,但它不起作用。

\^PO([a-zA-Z0-9]{6,11})(T+)(T?)$\
4

3 回答 3

0

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

于 2019-02-18T14:03:58.610 回答
0

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

于 2019-02-18T14:06:02.753 回答
0

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

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

演示

于 2019-02-18T14:06:12.380 回答