作者LaPass (LaPass)
看板RegExp
标题[问题] 请问怎麽抓出递回的字串?
时间Sat Dec 12 12:36:48 2015
打算用java写一只程式
去做一些简单的程式码置换
目标语言是javascript
要从档案中抓出特定名称的function
像是
function foo(){
.......
.......
if(...){
.......
var f=function(){
.......
}
}else{
.......
}
.......
}
我想抓出
function foo(){
到
}
之间的所有字串
要我抓宣告function那一行我没问题
要我抓括号我也没问题
但是我不知道该要怎麽告诉regex
要抓「成对、深度不一定的括号」
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.38.68.141
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/RegExp/M.1449895011.A.1A0.html
推 mars90226: 直觉告诉我不行,Google告诉我http://goo.gl/gTmi0J 12/13 10:32
1F:推 cutekid: Formal Language 好像有上到: 12/17 14:40
2F:→ cutekid: 一个是: Regular Language 12/17 14:42
3F:→ cutekid: 一个是: Context-free Language 12/17 14:42
4F:推 LPH66: 但实际上常用的 RegExp 一直都是比 formal language 的 12/25 00:12
5F:→ LPH66: Regular 要强上一些些 12/25 00:12
6F:推 CindyLinz: 嗯 Perl, Ruby 的 regex 都可以作到 context-free 12/25 23:34
7F:推 cutekid: 原来是这样呀,谢谢 L 大和 C 大 ^_^ 12/28 14:22
8F:推 eight0: 如果有 indent 的话 ^(\t*)function(){.*?^\1} 12/29 14:04