在 Go 中,执行不区分大小写的正则表达式搜索需要对语法进行轻微修改。以下是实现此目的的方法:
不区分大小写的正则表达式
要执行不区分大小写的搜索,正则表达式中的第一项应该不区分大小写标志,表示为“(?i)”。此标志可确保正则表达式匹配,无论字符的大小写如何。
实现不区分大小写的搜索
您给定的代码使用 regexp.Compile 和 strings.Replace 到根据用户提供的字符串 s.Name 构造正则表达式。要使搜索不区分大小写,只需在正则表达式前添加“(?i)”:
reg, err := regexp.Compile("(?i)" + strings.Replace(s.Name, " ", "[ \._-]", -1))
对于固定正则表达式,您可以将代码编写为:
r := regexp.MustCompile(`(?i)CaSe`)
其他信息
有关正则表达式中标志的更多详细信息,请参阅regexp/syntax 包文档或通用语法文档。
以上是如何在 Go 中执行不区分大小写的正则表达式搜索?的详细内容。更多信息请关注PHP中文网其他相关文章!