GolangでCodeEvalのEmail Validation(正規表現)

CodeEval


正規表現で書きなおした。

package main

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

var email_pattern = `^(?i:[^ @"<>]+|".*")@(?i:[a-z1-9.])+.(?i:[a-z])+$`
var email_re = regexp.MustCompile(email_pattern)

func main() {
	file, err := os.Open(os.Args[1])
	if err != nil {
		log.Fatal(err)
	}
	defer file.Close()
	scanner := bufio.NewScanner(file)
	for scanner.Scan() {
		line := strings.TrimRight(scanner.Text(), "\n")
		fmt.Println(len(email_re.FindAllString(line, -1)) != 0)

	}
}

関連 : Go言語でCodeEvalのEmail Validation - brainstorm

参考 : syntax - The Go Programming Language