草庐IT

regex_extract

全部标签

regex - golang选择性地将字符串转换为小写

我正在使用一个ldap对象,我正在从Activedirectory中检索一些条目。结果以大写形式返回领域,例如CN=bob,DC=example,DC=com而不是cn=bob,dc=example,dc=com。有没有办法选择性地将CN和DC子字符串转换为小写?到目前为止,我多次使用strings.split(先使用“,”,然后使用“=”再次迭代)以达到可以将CN、DC等放入列表中的地步,然后对它们使用strings.ToLower。有没有更好更智能的方法来完成这项工作,可能是使用正则表达式,这样我就可以避免两次迭代? 最佳答案

regex - golang选择性地将字符串转换为小写

我正在使用一个ldap对象,我正在从Activedirectory中检索一些条目。结果以大写形式返回领域,例如CN=bob,DC=example,DC=com而不是cn=bob,dc=example,dc=com。有没有办法选择性地将CN和DC子字符串转换为小写?到目前为止,我多次使用strings.split(先使用“,”,然后使用“=”再次迭代)以达到可以将CN、DC等放入列表中的地步,然后对它们使用strings.ToLower。有没有更好更智能的方法来完成这项工作,可能是使用正则表达式,这样我就可以避免两次迭代? 最佳答案

regex - Golang 正则表达式在字符串之间替换

我有以下可能形式的一些字符串:MYSTRING=${MYSTRING}\nMYSTRING=\nMYSTRING=randomstringwithvariablelength\n我希望能够将其正则表达式转换为MYSTRING=foo,基本上替换MYSTRING=和\n之间的所有内容。我试过:re:=regexp.MustCompile("MYSTRING=*\n")s=re.ReplaceAllString(s,"foo")但它不起作用。感谢您的帮助。附言\n表示为此目的有一个换行符。它实际上并不存在。 最佳答案 你可以使用(MYS

regex - Golang 正则表达式在字符串之间替换

我有以下可能形式的一些字符串:MYSTRING=${MYSTRING}\nMYSTRING=\nMYSTRING=randomstringwithvariablelength\n我希望能够将其正则表达式转换为MYSTRING=foo,基本上替换MYSTRING=和\n之间的所有内容。我试过:re:=regexp.MustCompile("MYSTRING=*\n")s=re.ReplaceAllString(s,"foo")但它不起作用。感谢您的帮助。附言\n表示为此目的有一个换行符。它实际上并不存在。 最佳答案 你可以使用(MYS

regex - 从 []byte 中去除 C 风格的注释

全部。我正在尝试为特定类型的配置文件编写一个包装器,它是JSON编码的。不幸的是,该文件包含C风格的注释(//和/**/),这些会导致json.Unmarshal出错。有没有办法强制Unmarshal忽略这些评论,或者以其他方式轻松删除它们?我现在正在研究regexp,但我希望有一个优雅的解决方案,作为Go的初学者,我可能无法在几个过程中想出分钟。 最佳答案 您必须去掉注释,因为JSON规范不允许注释。正则表达式可以完成这项工作。packagemainimport("fmt""regexp")varbytes=[]byte(`//t

regex - 从 []byte 中去除 C 风格的注释

全部。我正在尝试为特定类型的配置文件编写一个包装器,它是JSON编码的。不幸的是,该文件包含C风格的注释(//和/**/),这些会导致json.Unmarshal出错。有没有办法强制Unmarshal忽略这些评论,或者以其他方式轻松删除它们?我现在正在研究regexp,但我希望有一个优雅的解决方案,作为Go的初学者,我可能无法在几个过程中想出分钟。 最佳答案 您必须去掉注释,因为JSON规范不允许注释。正则表达式可以完成这项工作。packagemainimport("fmt""regexp")varbytes=[]byte(`//t

regex - 负面回顾替代方案

我有一个字符串百年纪念我想匹配ten只有当它前面没有cen时。到目前为止我有这个正则表达式:(([^c][^e][^n])|^)十在以下情况下返回truetenary、blahtenary和falseforctenary、cetenary,百年packagemainimport("fmt""regexp")funcmain(){txt:="ctenary"rx:=`(([^c][^e][^n])|^)ten`re:=regexp.MustCompile(rx)m:=re.MatchString(txt)fmt.Println(m)} 最佳答案

regex - 负面回顾替代方案

我有一个字符串百年纪念我想匹配ten只有当它前面没有cen时。到目前为止我有这个正则表达式:(([^c][^e][^n])|^)十在以下情况下返回truetenary、blahtenary和falseforctenary、cetenary,百年packagemainimport("fmt""regexp")funcmain(){txt:="ctenary"rx:=`(([^c][^e][^n])|^)ten`re:=regexp.MustCompile(rx)m:=re.MatchString(txt)fmt.Println(m)} 最佳答案

regex - golang 正则表达式提取数量对及其单位

我有一组人类可读的字符串来表示持续时间。以下是四个示例:1days40hrs23min50sec3hrs1min30sec10days23min11sec52sec我正在尝试将这些字符串转换为秒数。一旦将字符串分解成其组件,执行此操作的数学就非常简单-它只是乘法和加法。但是,我在编写正则表达式以将字符串解析为[,]时遇到了一些问题。对。例如,我想要的字符串输出:1days40hrs23min50sec是一个数组(或slice),如:[[1,"days"],[40,"hrs"],[23,"min"],[50,"sec"]].下面是我迄今为止尝试过的代码及其输出(可在http://play

regex - golang 正则表达式提取数量对及其单位

我有一组人类可读的字符串来表示持续时间。以下是四个示例:1days40hrs23min50sec3hrs1min30sec10days23min11sec52sec我正在尝试将这些字符串转换为秒数。一旦将字符串分解成其组件,执行此操作的数学就非常简单-它只是乘法和加法。但是,我在编写正则表达式以将字符串解析为[,]时遇到了一些问题。对。例如,我想要的字符串输出:1days40hrs23min50sec是一个数组(或slice),如:[[1,"days"],[40,"hrs"],[23,"min"],[50,"sec"]].下面是我迄今为止尝试过的代码及其输出(可在http://play