正如我在 Google 中搜索的那样,golang 的正则表达式使用不支持反向引用的 RE2 语法 (\1
)。
我有一个简单的正则表达式 ([^aeiouy])\1
,同时我将一个 C# 库移植到 golang,将“cutting”替换为“cut”。
我唯一没有完成的是正则表达式 ([^aeiouy])\1
。
如何获得该正则表达式的可行变体?我不太了解正则表达式。
最佳答案
根据这个问题,似乎需要找到任何出现的“ing”,其中“ing”之前的两个字符相等。
部分解决方案是:
func needsCut(s string) bool {
ix := strings.Index(s, "ing")
/* if the "ing" has less than two characters in fron of it, we can't do any cutting */
if ix < 2 {
return false
}
return s[ix-1] == s[ix-2]
}
关于regex - 如何将正则表达式转换为不支持反向引用的 golang 正则表达式风格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27634064/