Regex 双空格后停止正则表达式捕获
我试图将字符串的内容匹配到出现的双空格(忽略双空格位于自动/名称标识符之后的情况)或与a-Z或单个空格不同的任何其他字符,直到我想出以下正则表达式,尽管\S不匹配除空白之外的任何内容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
(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:否这将使用任意数量的空白(明显不允许的连续空白除外)。