Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.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
Regex 如何表达“匹配一个词或另一个词”而不创建组?_Regex_Go_Regex Group - Fatal编程技术网

Regex 如何表达“匹配一个词或另一个词”而不创建组?

Regex 如何表达“匹配一个词或另一个词”而不创建组?,regex,go,regex-group,Regex,Go,Regex Group,我正在尝试将此类字符串与正则表达式匹配: {{location| {{location dec| {{location other| {{location( dec| other|) 所以我想出了一个正则表达式: {{location| {{location dec| {{location other| {{location( dec| other|) 这很好,但是它在12月创建了一个组,我不需要。有没有办法做同样的事情但不创建组?您可以使用?:为了防止创建组,请尝试: {locatio

我正在尝试将此类字符串与正则表达式匹配:

{{location|
{{location dec|
{{location other|
{{location( dec| other|)
所以我想出了一个正则表达式:

{{location|
{{location dec|
{{location other|
{{location( dec| other|)
这很好,但是它在12月创建了一个组,我不需要。有没有办法做同样的事情但不创建组?

您可以使用?:为了防止创建组,请尝试:

{location?:dec | other |

您可以使用?:阻止创建组,因此请尝试:


{{location?:dec | other |

您需要一个组,但可以通过在左括号后添加?:将其设置为非捕获组:

(?: dec| other|)

非捕获意味着组仅为表达式而存在;不可能反向引用,组编号不受影响。

您需要一个组,但可以通过在左括号后添加?:使其成为非捕获组:

(?: dec| other|)

非捕获意味着组只是为了表达式而存在;不可能有反向引用,组编号也不受影响。

您使用的是哪个正则表达式引擎?Golang regexp-@DaveC,任何问题都可以通过阅读此类书籍或文档来回答。但如果您不知道在本例中首先要查找什么,则ke正如我刚刚了解到的,yword是非捕获组,那么你仍然被卡住了。你使用的是哪个正则表达式引擎?Golang regexp-@DaveC,任何问题都可以通过阅读这样或那样的书籍或文档来回答。但是如果你不知道你要从什么开始,在这种情况下,我刚刚了解到的关键字是非捕获组,那么您仍然被卡住。@hwnd取决于您在哪里运行它。在大多数all?应用程序语言中,否。在Linux命令行中,是。@hwnd取决于您在哪里运行它。在大多数all?应用程序语言中,否。在Linux命令行中,是。