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

As a personal project, trying to learn Go(lang) by applying it to something, I am writing an EMCAScript/JavaScript "compiler"; all it will (initially) do is allow you to include other .js files.

Functionality aside, I am pulling my hair out trying to figure out the regexp package. Here is the snippet that does not seem to be doing what I want it to:

// 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 {
      // ...
   }

I have already stumbled across Go's subset of regular expressions, hence why the regex does not read as ^\s*include\("([^"]+)"\);. I have already tested both the preferred, and the Go-style regex, in RegexPal, and both definitely work. The match just never seems to occurr; what am I doing wrong?

For what it's worth, the include() statement I am trying to parse looks like so:

include("somefile.js");

EDIT: For what it's worth, I am keeping the code here.

This seems to work with the latest weekly

package main

import (
        "fmt"
        "log"
        "regexp"
        "strings"
)

func main() {
        includeRegex, err := regexp.Compile(`^\s*include\("(\\\"|[^"])+"\);`)
        if err != nil {
                log.Fatal(err)
        }

        for _, line := range strings.Split(`
foo
include "abc.def"
include("file.js");
            include "me\"to\""
            include("please\"!\"");
        nothing here          
`, "
") {
                if includeRegex.Match([]byte(line)) {
                        includeFile := includeRegex.FindString(line)
                        fmt.Println("INCLUDE", includeFile)
                } else {
                        fmt.Printf("no match for \"%s\"
", line)
                }
        }
}

Output:

$ go build && ./tmp 
no match for ""
no match for "foo"
no match for "include "abc.def""
INCLUDE include("file.js");
no match for "        include "me\"to\"""
INCLUDE       include("please\"!\"");
no match for "  nothing here      "
no match for ""
$ 

Try putting the following line at the start of your program:

println(runtime.Version())

It should print weekly.2012-03-13 or something close to that date.