【发布时间】:2018-01-06 05:17:22
【问题描述】:
我正在尝试在 Go 语言中使用这个正则表达式:
~((?<=^[^\s])|(?<=\s[^\s]))\s(?=[^\s](\s|$))~
{(c|d|e|i|l|n|o|p|r|t|z)\1+}
{( |a|b|d|[f-h]|i|[j-k]|m|q|s|[u-y])\1+}
{(c|d|e|i|l|n|o|p|r|t|z)\1+}
{( |a|b|[f-h]|i|[j-k]|m|q|s|[u-y])\1+}
{(si|sa|za|ja|to)\1+}
在每个人中我都会遇到这个错误:
恐慌:正则表达式:编译(
~((?<=^[^\s])|(?<=\s[^\s]))\s(?=[^\s](\s|$))~):解析正则表达式时出错:Perl 语法无效或不受支持:(?<
也许有人知道诀窍? :/ 还是无法使用它们?
【问题讨论】:
-
不允许后视:github.com/google/re2/wiki/Syntax。它也不支持前瞻
-
stdlib 正则表达式解析器不支持环视:golang.org/pkg/regexp/syntax
-
知道是否可以使用正则表达式找到单独的字符?
标签: regex go functional-programming