【发布时间】:2011-03-08 05:25:19
【问题描述】:
感谢我之前的作业问题Regex to match tags like <A>, <BB>, <CCC> but not <ABC> 的帮助,但现在我还有另一个作业问题。
我需要匹配 <LOL>、<LOLOLOL> 等标签(3 个大写字母,最后两个字母可重复),但不匹配 <lol>(需要大写)。
使用之前作业中的技术,我尝试了<[A-Z]([A-Z][A-Z])\1*>。这行得通,除了有一个额外的问题:重复部分可以混合大小写!
所以我还需要匹配 <LOLolol>、<LOLOLOlol>,因为它是 3 个大写字母,最后两个字母混合大小写时可重复。我知道您可以使用/i 使模式不区分大小写,这将让我将<LOLolol> 与我拥有的正则表达式匹配,但它现在也将匹配<lololol>,因为对前3 个字母的检查也是不区分大小写。
那么我该怎么做呢?如何区分大小写地检查前 3 个字母,然后不区分大小写地检查其余字母?正则表达式可以做到这一点吗?
【问题讨论】:
标签: regex case-sensitive case-insensitive