String to be matched = "AAA/up to eight upper case letters/AAA" :
ex1 : AAA/BB/AAA
ex2 : AAA//AAA
ex3: AAA/BBCCDDEEFF/AAA
如何在中间匹配字符串为0到8个大写字母(即正斜杠之间)?
我尝试了regex : AAA/(?!(.*[a-z].*)[A-Z]{0,8})/AAA
但它并不匹配任何上述字符串。
(正则表达式AAA/[A-Z]{0,8}/AAA
匹配上面的字符串,但它也匹配小写字母。
ex: AAA/bb/AAA
)
答案 0 :(得分:6)
您原来的AAA/[A-Z]{0,8}/AAA
是正确的,但您已经对#34;不区分大小写"正则表达式修饰符设置在正则表达式之外的某处,所以你也匹配小写字母。 (您是否在“Notepad ++”中选中了“#34;匹配案例"复选框?”
您可以使用(?-i)
构造使正则表达式(或表达式的一部分)区分大小写:
(?-i)AAA\/[A-Z]{0,8}\/AAA
答案 1 :(得分:1)