首页 >后端开发 >Golang >如何在 Go 中执行不区分大小写的正则表达式搜索?

如何在 Go 中执行不区分大小写的正则表达式搜索?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-08 03:33:12204浏览

How Can I Perform a Case-Insensitive Regular Expression Search in Go?

Go 中不区分大小写的正则表达式

在 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn