1
0
mirror of https://github.com/golang/go synced 2024-11-22 00:24:41 -07:00

update the tree to use the new regexp methods

R=rsc
CC=golang-dev
https://golang.org/cl/1983043
This commit is contained in:
Rob Pike 2010-08-12 16:48:41 +10:00
parent 4fb5883253
commit d31ee536e8
8 changed files with 14 additions and 14 deletions

View File

@ -451,13 +451,13 @@ func addrRegexp(data []byte, lo, hi int, dir byte, pattern string) (int, int, os
// through file, but that seems like overkill. // through file, but that seems like overkill.
return 0, 0, os.NewError("reverse search not implemented") return 0, 0, os.NewError("reverse search not implemented")
} }
m := re.Execute(data[hi:]) m := re.FindIndex(data[hi:])
if len(m) > 0 { if len(m) > 0 {
m[0] += hi m[0] += hi
m[1] += hi m[1] += hi
} else if hi > 0 { } else if hi > 0 {
// No match. Wrap to beginning of data. // No match. Wrap to beginning of data.
m = re.Execute(data) m = re.FindIndex(data)
} }
if len(m) == 0 { if len(m) == 0 {
return 0, 0, os.NewError("no match for " + pattern) return 0, 0, os.NewError("no match for " + pattern)

View File

@ -943,7 +943,7 @@ var (
func extractString(src []byte, rx *regexp.Regexp) (s string) { func extractString(src []byte, rx *regexp.Regexp) (s string) {
m := rx.Execute(src) m := rx.Find(src)
if len(m) >= 4 { if len(m) >= 4 {
s = strings.TrimSpace(string(src[m[2]:m[3]])) s = strings.TrimSpace(string(src[m[2]:m[3]]))
} }

View File

@ -41,13 +41,13 @@ func download(pkg string) (string, os.Error) {
if strings.Index(pkg, "..") >= 0 { if strings.Index(pkg, "..") >= 0 {
return "", os.ErrorString("invalid path (contains ..)") return "", os.ErrorString("invalid path (contains ..)")
} }
if m := bitbucket.MatchStrings(pkg); m != nil { if m := bitbucket.FindStringSubmatch(pkg); m != nil {
if err := vcsCheckout(&hg, root+m[1], "http://"+m[1], m[1]); err != nil { if err := vcsCheckout(&hg, root+m[1], "http://"+m[1], m[1]); err != nil {
return "", err return "", err
} }
return root + pkg, nil return root + pkg, nil
} }
if m := googlecode.MatchStrings(pkg); m != nil { if m := googlecode.FindStringSubmatch(pkg); m != nil {
var v *vcs var v *vcs
switch m[2] { switch m[2] {
case "hg": case "hg":
@ -63,7 +63,7 @@ func download(pkg string) (string, os.Error) {
} }
return root + pkg, nil return root + pkg, nil
} }
if m := github.MatchStrings(pkg); m != nil { if m := github.FindStringSubmatch(pkg); m != nil {
if strings.HasSuffix(m[1], ".git") { if strings.HasSuffix(m[1], ".git") {
return "", os.ErrorString("repository " + pkg + " should not have .git suffix") return "", os.ErrorString("repository " + pkg + " should not have .git suffix")
} }
@ -72,7 +72,7 @@ func download(pkg string) (string, os.Error) {
} }
return root + pkg, nil return root + pkg, nil
} }
if m := launchpad.MatchStrings(pkg); m != nil { if m := launchpad.FindStringSubmatch(pkg); m != nil {
// Either lp.net/<project>[/<series>[/<path>]] // Either lp.net/<project>[/<series>[/<path>]]
// or lp.net/~<user or team>/<project>/<branch>[/<path>] // or lp.net/~<user or team>/<project>/<branch>[/<path>]
if err := vcsCheckout(&bzr, root+m[1], "https://"+m[1], m[1]); err != nil { if err := vcsCheckout(&bzr, root+m[1], "https://"+m[1], m[1]); err != nil {

View File

@ -199,8 +199,8 @@ var (
// and '' into &rdquo;). // and '' into &rdquo;).
func emphasize(w io.Writer, line []byte, words map[string]string, nice bool) { func emphasize(w io.Writer, line []byte, words map[string]string, nice bool) {
for { for {
m := matchRx.Execute(line) m := matchRx.Find(line)
if len(m) == 0 { if m == nil {
break break
} }
// m >= 6 (two parenthesized sub-regexps in matchRx, 1st one is identRx) // m >= 6 (two parenthesized sub-regexps in matchRx, 1st one is identRx)

View File

@ -309,7 +309,7 @@ func (doc *docReader) addFile(src *ast.File) {
// collect BUG(...) comments // collect BUG(...) comments
for _, c := range src.Comments { for _, c := range src.Comments {
text := c.List[0].Text text := c.List[0].Text
if m := bug_markers.Execute(text); len(m) > 0 { if m := bug_markers.Find(text); m != nil {
// found a BUG comment; maybe empty // found a BUG comment; maybe empty
if btxt := text[m[1]:]; bug_content.Match(btxt) { if btxt := text[m[1]:]; bug_content.Match(btxt) {
// non-empty BUG comment; collect comment without BUG prefix // non-empty BUG comment; collect comment without BUG prefix

View File

@ -103,7 +103,7 @@ func (bp *Part) populateHeaders() os.Error {
if line == "\n" || line == "\r\n" { if line == "\n" || line == "\r\n" {
return nil return nil
} }
if matches := headerRegexp.MatchStrings(line); len(matches) == 3 { if matches := headerRegexp.FindStringSubmatch(line); len(matches) == 3 {
key := matches[1] key := matches[1]
value := matches[2] value := matches[2]
// TODO: canonicalize headers ala http.Request.Header? // TODO: canonicalize headers ala http.Request.Header?

View File

@ -77,8 +77,8 @@ func countMatches(pat string, bytes []byte) int {
re := regexp.MustCompile(pat) re := regexp.MustCompile(pat)
n := 0 n := 0
for { for {
e := re.Execute(bytes) e := re.FindIndex(bytes)
if len(e) == 0 { if e == nil {
break break
} }
n++ n++

View File

@ -76,7 +76,7 @@ func countMatches(pat string, bytes []byte) int {
re := regexp.MustCompile(pat) re := regexp.MustCompile(pat)
n := 0 n := 0
for { for {
e := re.Execute(bytes) e := re.FindIndex(bytes)
if len(e) == 0 { if len(e) == 0 {
break break
} }