正則表達式是一種進行模式匹配和文本操縱的復雜而又強大的工具。雖然正則表達式比純粹的文本匹配效率低,但是它卻更靈活。按照它的語法規則,隨需構造出的匹配模式就能夠從原始文本中篩選出幾乎任何你想要得到的字符組合。
Go語言通過regexp(regular expression)標准包為正則表達式提供了官方支持,包名采用regular expression
的每個單詞的前三個首字母組成。
Go語言的正則表達式實現的是RE2標准,Go語言的正則表達式與其他編程語言之間也有一些小的差異。
正則表達式規則
go語言中regexp包使用
簡單來說,Go語言中使用正則表達式只需要兩步即可:
- 解析、編譯正則表達式
regexp.MustCompile()
返回一個regexp結構體 - 根據解析好的規則(結構體形式),從指定字符串中提取需要的信息。如
MatchString()
FindAllSubmatch()
等
package main
import (
"fmt"
"regexp"
)
func main() {
rege := regexp.MustCompile(`(\d{1,3}\.){3}\d{1,3}`)
str := rege.FindAllString("SLAJDLKAJ192.168.0.1DASDASA1231", -1)
fmt.Println(str)
}