Din*_*han 0 regex notepad++ regex-greedy regex-lookarounds
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)
你的原文AAA/[A-Z]{0,8}/AAA是正确的,但你在正则表达式之外的某处设置了"不区分大小写"的正则表达式修饰符,所以你也匹配小写字母.(您是否在Notepad ++中选中"匹配大小写"复选框?)
您可以使用(?-i)构造使正则表达式(或表达式的一部分)区分大小写:
(?-i)AAA\/[A-Z]{0,8}\/AAA
Run Code Online (Sandbox Code Playgroud)
演示:https://regex101.com/r/aS2iW8/1