Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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 - Fatal编程技术网

Regex 双空格后停止正则表达式捕获

Regex 双空格后停止正则表达式捕获,regex,Regex,我试图将字符串的内容匹配到出现的双空格(忽略双空格位于自动/名称标识符之后的情况)或与a-Z或单个空格不同的任何其他字符,直到我想出以下正则表达式,尽管\S不匹配除空白之外的任何内容 (AUTOR|NAME):?([A-Z ]\S)+ AUTOR: LEANDRO LUCIANI TAVARES -- This should match up to 'AUTOR: LEANDRO LUCIANI' AUTOR LEANDRO LUCIANI \TAVARES -- This shou

我试图将字符串的内容匹配到出现的双空格(忽略双空格位于自动/名称标识符之后的情况)或与a-Z或单个空格不同的任何其他字符,直到我想出以下正则表达式,尽管\S不匹配除空白之外的任何内容

(AUTOR|NAME):?([A-Z ]\S)+


AUTOR:  LEANDRO LUCIANI  TAVARES -- This should match up to 'AUTOR:  LEANDRO LUCIANI'

AUTOR LEANDRO LUCIANI \TAVARES -- This should match up to 'AUTOR LEANDRO LUCIANI' discarding anything after the backslash

AUTOR       LEANDRO TAVARES -- This should match up to 'AUTOR       LEANDRO TAVARES'
编辑:

我试图在C#上运行它,因此它必须与正则表达式的.NET实现兼容

提前感谢,,
Leandro Tavares

这个PCRE适合我:

/(AUTOR|NAME):?\s*([A-Z ]+?)(?:  | \\|\\|$)/

您正在寻找的可能是:

(AUTOR|NAME)[\s:]\s*([A-Z]+( [A-Z]+)*)

“直到出现双空格或任何其他字符”,具体是什么其他字符,反斜杠或所有非字母数字字符?我的意思是,所有字符都包括[a-z]。我对正则表达式的了解很浅,所以上面的PCRE表达式在C#上不起作用,举个例子,我说的对吗?我在regexpal上做了一个测试,第二个测试用例仍然与反斜杠匹配。如果将最后一个?:更改为a?=如
/(AUTOR | NAME):?\s*([a-Z]+?)(?=|\\\\\\\\\\$)/
它似乎在regexpal上运行得很好,但当我在C上运行它时,它只匹配“AUTOR:LEANDRO”作为example@DougLuce:否这将使用任意数量的空白(明显不允许的连续空白除外)。