0
    if (word.matches("^[a-zA-Z_](.)][a-zA-Z_]*$") ) {
          System.out.println(word);
    }

我需要编写方法来识别类中的方法调用。例如。A a =新的A();一个电话();

我需要从我的班级中找到 a.call()。

4

1 回答 1

0
  • [a-zA-Z_]只匹配一个字符。追加*+匹配多个字符。
  • .匹配任何字符。转义.以匹配文字点。

尝试以下正则表达式:

"[a-zA-Z_]\\w*\\.[a-zA-Z_]\\w*\\(.*?\\)"

例子:

import java.util.regex.*;

class T {
    public static void main(String[] args) {
        String word = "A a =new A(); a.call();";
        Pattern pattern = Pattern.compile("[a-zA-Z_]\\w*\\.[a-zA-Z_]\\w*\\(.*?\\)");
        Matcher matcher = pattern.matcher(word);
        while (matcher.find()) {
            System.out.println(matcher.group());
        }
    }
}
于 2013-09-15T06:00:25.353 回答