Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Go Regex中的组与或|_Regex_Go - Fatal编程技术网

使用Go Regex中的组与或|

使用Go Regex中的组与或|,regex,go,Regex,Go,如果我有(a)|(b)以0开始b的组,在Go Regex中有什么方法吗?我该怎么做 re := regexp.MustCompile( `<(\$)([a-zA-Z0-9]+):([a-zA-Z0-9]+):([a-zA-Z0-9]+)>|{(@)([a-zA-Z0-9 ]+)}`) 如何“规范化”组(索引)?那么(@)也是组0 我可以使用同名的组名吗?Go regex引擎是,而且它不支持您正在寻找的功能,即 有PCRE库端口可供您随时使用。例如,这里有一个例子。添加后,您可

如果我有(a)|(b)以0开始b的组,在Go Regex中有什么方法吗?我该怎么做

re := regexp.MustCompile(
   `<(\$)([a-zA-Z0-9]+):([a-zA-Z0-9]+):([a-zA-Z0-9]+)>|{(@)([a-zA-Z0-9 ]+)}`)
如何“规范化”组(索引)?那么(@)也是组0

我可以使用同名的组名吗?

Go regex引擎是,而且它不支持您正在寻找的功能,即

有PCRE库端口可供您随时使用。例如,这里有一个例子。添加后,您可以使用

(?|<(\$)([a-zA-Z0-9]+):([a-zA-Z0-9]+):([a-zA-Z0-9]+)>|{(@)([a-zA-Z0-9 ]+)})
^^^                                                  ^                    ^
(?|{(@)([a-zA-Z0-9]+)})
^^^                                                  ^                    ^

请参阅。

这似乎不可能,因为Go regex不支持。如果你非常需要的话,可以使用一些PCRE库。谢谢,谢谢你的专业术语。如果你愿意回答,我会接受的。
(?|<(\$)([a-zA-Z0-9]+):([a-zA-Z0-9]+):([a-zA-Z0-9]+)>|{(@)([a-zA-Z0-9 ]+)})
^^^                                                  ^                    ^