我需要正则表达式来验证字符串:
现在在这里它进一步复杂化。 毕竟它可能有:
最后所有这些都必须有效:
ASDF_I_0002
ASDFG_O_0003_0324
ASDF_O_0001
ASDF_I_0001_0001
谢谢。
答案 0 :(得分:5)
有4或5个字母(A-Z)
[A-Z]{4,5}
然后是一个下划线
[A-Z]{4,5}_
然后是I或O(只有其中一个)
[A-Z]{4,5}_[IO]
然后是一个下划线
[A-Z]{4,5}_[IO]_
然后是4位数字
[A-Z]{4,5}_[IO]_[0-9]{4}
毕竟可能有:
[A-Z]{4,5}_[IO]_[0-9]{4}()?
另一个下划线
[A-Z]{4,5}_[IO]_[0-9]{4}(_)?
然后是4位数字。
[A-Z]{4,5}_[IO]_[0-9]{4}(_[0-9]{4})?
你已经很好地列出了你的要求,我想知道从他们那里制作正则表达式的问题。 ;)
答案 1 :(得分:1)
有4或5个字母
然后是一个下划线
然后是I或O(只有其中一个)
然后是一个下划线
然后是4位数字
全部放在一起
\w{4-5}_[IO]_\d{4}
虽然要匹配所有测试用例,但您需要扩展此
\w{4-5}_[IO](_\d{4}){1,2}
答案 2 :(得分:1)
试试这个
^\w{4,5}_(I|O)_\d{4}(_\d{4})?$
编辑:与其评估的其他解决方案相比; - )
^\w{4,5}_[IO](_\d{4}){1,2}$