为了账号安全,请及时绑定邮箱和手机立即绑定

Golang正则表达式-我做错了什么?

Golang正则表达式-我做错了什么?

Go
慕尼黑的夜晚无繁华 2021-04-29 10:09:28
作为一个个人项目,尝试通过将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 回答

?
红颜莎娜

TA贡献1842条经验 获得超12个赞

尝试将以下行放在程序的开头:

println(runtime.Version())

它应该可以打印weekly.2012-03-13或接近该日期。


查看完整回答
反对 回复 2021-05-10
  • 2 回答
  • 0 关注
  • 180 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信