作为一个个人项目,尝试通过将Go(lang)应用到某些东西来学习它,我正在编写一个EMCAScript / JavaScript“编译器”;(最初)要做的就是允许您包含其他.js文件。除了功能之外,我还在努力寻找解决regexp方案。这是似乎没有按照我想要的方式执行的代码段:// Note: "lines" is an array of strings.var includeRegex, _ = regexp.Compile("^[ \t]*include[(]{1}\"([^\"]+)\"[)]{1};")for _, line := range lines { var isInclude = includeRegex.Match([]byte(line)) if isInclude { var includeFile = includeRegex.FindString(line) fmt.Println("INCLUDE", includeFile) } else { // ... }我已经偶然发现Go的正则表达式子集,因此为什么regex不读为^\s*include\("([^"]+)"\);。我已经在RegexPal中测试了首选和Go风格的正则表达式,两者都可以正常工作。这场比赛似乎从未发生过。我究竟做错了什么?对于它的价值,include()我要解析的语句看起来像这样:include("somefile.js");编辑:对于它的价值,我将代码保存在这里。
- 2 回答
- 0 关注
- 180 浏览
添加回答
举报
0/150
提交
取消