2016-11-02 4 views
1

В go есть функция MatchString, которая может использоваться для сопоставления строки с регулярным выражением, однако функция возвращает true, если найдена подстрока, соответствующая регулярному выражению.Проверка правильности строки regex

Есть ли способ/аналогичная функция, которая возвращает true только тогда, когда вся строка сопоставлена ​​(например, если у меня есть [0-9] {2}, а моя строка - 213, возвращаемое значение должно быть ложным). ? или это должно быть сделано из строки регулярного выражения?

+0

обновленный ответ немного, вы можете попробовать прямо сейчас! –

ответ

3

Попробуйте это:

^[0-9]{2}$ 

Explanation

GO КОД:

package main 

import (
    "regexp" 
    "fmt" 
) 

func main() { 
    var re = regexp.MustCompile(`(?m)^[0-9]{2}$`) 
    var str = `213` 

    for i, match := range re.FindAllString(str, -1) { 
     fmt.Println(match, "found at index", i) 
    } 
} 

Run the code here

Смежные вопросы