描述
这个正则表达式会拉出void后的name值,以及所有的参数
^\s*void\s+(\S+)\s+[(]([^)]*)[)]\s*[{]
团体
第 0 组获得整场比赛
- 得到名字
- 获取参数
Java 代码示例:
import java.util.regex.Pattern;
import java.util.regex.Matcher;
class Module1{
public static void main(String[] asd){
String sourcestring = "void name (parameters) {";
Pattern re = Pattern.compile("^\\s*void\\s+(\\S+)\\s+[(]([^)]*)[)]\\s*[{]",Pattern.CASE_INSENSITIVE | Pattern.MULTILINE | Pattern.DOTALL);
Matcher m = re.matcher(sourcestring);
int mIdx = 0;
while (m.find()){
for( int groupIdx = 0; groupIdx < m.groupCount()+1; groupIdx++ ){
System.out.println( "[" + mIdx + "][" + groupIdx + "] = " + m.group(groupIdx));
}
mIdx++;
}
}
}
$matches Array:
(
[0] => Array
(
[0] => void name (parameters) {
)
[1] => Array
(
[0] => name
)
[2] => Array
(
[0] => parameters
)
)