Golang 创建一个包含正则表达式元字符的字符串

Golang 创建一个包含正则表达式元字符的字符串

正则表达式是一个定义搜索模式的字符序列。Go语言支持正则表达式。正则表达式用于解析、过滤、验证和从大型文本中提取有意义的信息,如日志、其他程序产生的输出等。

Go regexp 中,你可以在 QuoteMeta() 函数的帮助下创建一个字符串,以转义指定文本中的所有正则表达式元字符。这个函数返回的字符串是一个与字面文本相匹配的正则表达式。这个函数是在regexp包中定义的,所以要访问这个方法,你需要在你的程序中导入regexp包。

语法

func QuoteMeta(str string) string

例1 :

// Go program to illustrate how to create
// a string that escapes all regular
// expression metacharacters
package main
  
import (
    "fmt"
    "regexp"
)
  
// Main function
func main() {
  
    // Escaping all regular
    // expression metacharacters
    // Using QuoteMeta () function
    res1 := regexp.QuoteMeta(`String 1: .+*()|[]{}^`)
    fmt.Println(res1)
  
    res2 := regexp.QuoteMeta(`String 2: +()*`)
    fmt.Println(res2)
  
    res3 := regexp.QuoteMeta(`String 3: []|{}`)
    fmt.Println(res3)
  
    res4 := regexp.QuoteMeta(`String 4: ^$*-,`)
    fmt.Println(res4)
  
}

输出

例2 :

// Go program to illustrate how to create
// a string that escapes all regular
// expression metacharacters
package main
  
import (
    "fmt"
    "regexp"
)
  
// Main function
func main() {
  
    // Creating and initializing string
    // Using shorthand declaration
    s1 := `+*?()|[]^`
    s2 := `+*?()|[]^
    `
    if s1 == s2 {
  
        // Escaping all regular
        // expression metacharacters
        // Using QuoteMeta () function
        res := regexp.QuoteMeta(s1)
        fmt.Println("String:", res)
          
    } else {
  
        fmt.Println("Not Equal")
    }
  
}

输出

Not Equal

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程