REGEX:匹配内部具有相同特殊字符的文本



我有多个文档,需要匹配其中的一些代码:代码的结构如下:CRL-LLL-LLL-LLL-DDDDD|示例:CRL-SYW-CON-LKA-TMP-800001

主要有正确的情况,然而,这种情况也有一些情况:CRL-SYW-CON-LKA-TMP-XXXXXX(因为他们不知道数字(

请看这个:https://gyazo.com/c950b3f687929d19fc7b2cf63cc9721c

只是在Sublime文本中进行了测试,我使用以下方法想出了一些东西:.*-\d{6}但它需要更多我不需要的部分:

https://gyazo.com/e410a9267199f567b9d146ce9c3f1839

这个想法可能是这样的:

  • 读取并查找所有以CRL开头的字符串
  • 停止直到下一个空格
  • 返回包含至少2"0"的字符串-">

谢谢!!

您可以使用

re.findall(r'bCRL(?:-[A-Z]{3}){4}-(?:d{6}|X{6})b', text)

请参阅regex演示。

详细信息

  • b-一个词的边界
  • CRL-CRL字符串
  • (?:-[A-Z]{3}){4}--和3个大写字母的四个重复
  • --连字符
  • (?:d{6}|X{6})-六位数字或六个X字符
  • b-一个词的边界

最新更新