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

时间:2014-11-30 00:48:26

标签: regex

我正在尝试将字符串的内容与双空格的出现匹配(忽略双空格在autor / name标识符之后的情况)或任何其他不同于AZ的字符或单个空格直到我想出以下正则表达式的那一刻,虽然\ 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

2 个答案:

答案 0 :(得分:3)

你在寻找的东西可能是这样的:

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

答案 1 :(得分:1)

这个PCRE对我有用:

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