为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
慕雪6442864 2021-06-03 18:45:56
现在,当然,我可以编写我的正则表达式来处理这两种情况,例如regexp.Compile("[a-zA-Z]"),但我的正则表达式是根据用户给出的字符串构造的:reg, err := regexp.Compile(strings.Replace(s.Name, " ", "[ \\._-]", -1))s.Name名字在哪里。这可能类似于“西北偏北”。现在,对我来说最明显的解决方案是遍历每个字符s.Name并为每个字母写上“[nN]”:for i := 0; i < len(s.Name); i++ {  if s.Name[i] == " " {    fmt.Fprintf(str, "%s[ \\._-]", str);  } else {    fmt.Fprintf(str, "%s[%s%s]", str, strings.ToLower(s.Name[i]), strings.ToUpper(s.Name[i]))  }}但我觉得这是一个相当不优雅的解决方案。速度并不是真正的问题,但我需要知道是否有其他方法。
查看完整描述

3 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

您可以(?i)在模式的开头添加一个以使其不区分大小写。



查看完整回答
反对 回复 2021-06-07
  • 3 回答
  • 0 关注
  • 337 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号