2010-08-06 19 views
1

我需要匹配以小写字母开头并且不以下划线结尾的变量。IntelliJ结构搜索正则表达式问题

我有这三个领域:

private String shouldFlag; 
private String shouldntFlag_; 
private String SHOULDNTFLAG; 

有了这种模式倒: ^[a-z].*_$

使用的字段名在下面的模板:

class $Class$ { 
    $FieldType$ $FieldName$ = $Init$; 
} 

的问题是,SHOULDNTFLAG是仍然被标记。我尝试使用^[a-z].*_$|^[A-Z].*$,但这并不符合任何内容,更不用说只有shouldFlag。我在这里做错了什么?

回答

2

假设你的变量名只能包含ASCII字母和数字加下划线,我会去与

\b[a-z]\w*\b(?<!_) 

编辑:......,正如@Stefan指出的那样,你需要选择“案敏感“选项。

+0

这似乎接受Intelli-J中的SHOULDNTFLAG。它看起来像将[a-z]字符类视为[a-zA-Z] – 2010-08-09 14:56:34

+0

您需要在SSR中明确检查“区分大小写”。 – 2010-08-09 14:58:08

+0

很酷,谢谢。我从来没有真正使用过这个功能。我总是期待使用正则表达式驱动的搜索工具 - 特别是在IDE和编程人员的编辑器 - 默认情况下区分大小写,但他们让我感到惊讶。 :/ – 2010-08-09 16:20:01