在go语言中解析regexp时报错:invalid or unsupported Perl syntax的解决方式

2023-06-01 00:00:00 语言 解析 时报

在go语言中编译和运行程序时,有时会抛出一些奇怪的错误信息。

今天在测试Golang中的正则表达式时,就遇到了下面这个错误信息:

error parsing regexp: invalid or unsupported Perl syntax: (?!

显然,

这是因为Golang中不支持Perl语法和负数的lookahead。


Golang的正则表达式语法与PCRE的不同

(php和javascript使用的是PCRE)。


解决‘无效或不支持Perl语法’的方案


方式1

可以把你的正则表达式转换成非Perl语法风格。


方式2

安装

https://github.com/tuxychandru/golang-pkg-pcre/

方式3

如果你的要求不是太复杂,你也可以考虑Golang的unicode包。

ps:

有几个函数,如IsDigit, IsNumber和IsPunct,可能会有用。

相关文章