正则表达式的贪婪范围
问题描述:
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
是正确的,但你得到了“不区分大小写”正则表达式修饰符设置某个正则表达式外面,所以你匹配小写字母以及。 (你检查“区分大小写”在记事本复选框++?)
您可以将正则表达式(或表达式的一部分)的情况下与(?-i)
结构敏感:
(?-i)AAA\/[A-Z]{0,8}\/AAA
+0
是的!这是问题。谢谢 – Dinushan
添加Notepad ++标记,这非常重要。 –