-1

在以下文本中:

美国国税局针对政治测试规则的目标群体(作者:NICHOLAS CONFESSORE)

我需要使用正则表达式获取作者的姓名。在这种情况下如何获得表达式?

我试试这个

Regex.Match("Groups Targeted by I.R.S. Tested Rules on Politics (Author: NICHOLAS CONFESSORE)", @"(?<=Author:\s+)[^)]").Groups[0].Value;

结果只有字符“N”

4

2 回答 2

2

您可以匹配 fromAuthor:到右括号:

(?<=Author:\s+)[^)]+

请注意,这假定作者姓名本身不包含右括号。该假设是否有效可能取决于您的数据集。

(?<=foo)是一个积极的lookbehind,它不会消耗匹配中的任何字符,而是将匹配锚定到foo正则表达式其余部分之前的位置。所以在这种情况下,我们将在 之后立即开始匹配Author:[^)]+是一个否定字符类,包含除右括号之外的所有字符。

于 2013-05-27T12:05:36.050 回答
0

我刚试过gskinner,这是链接

结果是:(?<=Author:\s)[^)]+

于 2013-05-27T12:37:46.477 回答