一般情况下我们都是用正则来处理一行字符串,如果要处理多行的字符串怎么办呢?
对于函数:
function a(){
…
}
是一个多行的字符串,要取函数名,怎么写?
方法一:
因为函数名肯定出现在第一行,所以可以通过: /^function +([^(]*)/)[1] 来获取
方法二:
将函数名前面的字符和后面的字符都替换掉:
.replace(/^function +/,"").replace(/\((.|\n)*/m,"");
注意不要写成:
.replace(/^function +/,"").replace(/\([.\n]*/m,"");
因为
1. dot 在 [] 里面是不能表示任意字符的
2. dot 也不包含回车
3. 注意m修改选项