正则表达式匹配的问题?

我要匹配关键字endfunction或endtask和后面的名称,中间一个冒号,书写自由,冒号前后可以有或没有空白字符,冒号和后面的名称可以同时有或同时没有,参考下面的各种写法:
endfunction : myfunction
endfunction
endfunction:myfunction
endfunction :
myfunction

endtask :mytask
endtask
endtask:mytask
endtask:
mytask

为什么我用这个表达式匹配失败?
\b(endfunction|endtask)[\s*:\s*(\w+)]?\b

括号写错了,正则更正为如下,就可以了:
\b(endfunction|endtask)(\s*:\s*(\w+))?\b

我已经测试过了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-05-31
"^(AF){1}$|^(AI){1}$|^(AM){1}$|^(AP){1}$|^(AR){1}$|^(B){1}$|^(B2){1}$|^(ISIN){1}$"