在以下文字中:
以I.R.S.为目标的团体经过测试的政治规则(作者:NICHOLAS CONFESSORE)
我需要使用正则表达式来获取作者的名字。在这种情况下如何获得表达式?
我试试这个
Regex.Match("Groups Targeted by I.R.S. Tested Rules on Politics (Author: NICHOLAS CONFESSORE)", @"(?<=Author:\s+)[^)]").Groups[0].Value;
结果只有字符“N”
答案 0 :(得分:2)
您可以从Author:
匹配到右括号:
(?<=Author:\s+)[^)]+
请注意,这假定作者姓名本身不包含右括号。该假设是否有效取决于您的数据集。
(?<=foo)
是一个积极的lookbehind,它不会消耗匹配中的任何字符,而是将匹配锚定到foo
先于正则表达式其余部分的点。所以在这种情况下,我们将在Author:
之后立即开始匹配。 [^)]+
是一个否定的字符类,包含每个字符,但是右括号。
答案 1 :(得分:0)
我刚试过gskinner
,这里是link
结果是:(?<=Author:\s)[^)]+