Go regexp.QuoteMeta 的使用说明和案例

11 min read

regexp.QuoteMeta 函数可以将一个字符串中的特殊字符转义,以便将其用作正则表达式中的字面量。使用此函数可以防止字符集、量词和分组等特殊字符被正则表达式解析器误认为是元字符。该函数返回被转义后的字符串。

使用方法:

escapedStr := regexp.QuoteMeta(str)

其中 str 是要转义的字符串,escapedStr 为转义后的字符串。

案例:

package main

import (
	"fmt"
	"regexp"
)

func main() {
	str := "(a+b)*"
	escapedStr := regexp.QuoteMeta(str)
	fmt.Println(escapedStr)
}

输出结果为:

\(a\+b\)\*

其中 (+)* 都被转义了,防止它们被正则表达式解析器误认为是元字符。