[问题] 请问怎么抓出递回的字串?

楼主: LaPass (LaPass)   2015-12-12 12:36:48
打算用java写一只程式
去做一些简单的程式码置换
目标语言是javascript
要从档案中抓出特定名称的function
像是
function foo(){
.......
.......
if(...){
.......
var f=function(){
.......
}
}else{
.......
}
.......
}
我想抓出
function foo(){

}
之间的所有字串
要我抓宣告function那一行我没问题
要我抓括号我也没问题
但是我不知道该要怎么告诉regex
要抓“成对、深度不一定的括号”
作者: cutekid (可爱小孩子)   2015-12-17 14:40:00
Formal Language 好像有上到:一个是: Regular Language一个是: Context-free Language
作者: LPH66 (-6.2598534e+18f)   2015-12-25 00:12:00
但实际上常用的 RegExp 一直都是比 formal language 的Regular 要强上一些些
作者: CindyLinz (Cindy Wang)   2015-12-25 23:34:00
嗯 Perl, Ruby 的 regex 都可以作到 context-free
作者: cutekid (可爱小孩子)   2015-12-28 14:22:00
原来是这样呀,谢谢 L 大和 C 大 ^_^
作者: eight0 (欸XD)   2015-12-29 14:04:00
如果有 indent 的话 ^(\t*)function(){.*?^\1}

Links booklink

Contact Us: admin [ a t ] ucptt.com