正则表达式 - 匹配后的空格或字符串结尾c#

时间:2014-02-07 12:38:37

标签: regex

我希望使用正则表达式在特定单词(B)之后得到一个单词(A)。但是在B字之后可能会有一些空格,或者B字在字符串的末尾。

例如:

两行:

'This is special sentence'

'This is special'

使用正则表达式我想在'是'之后得到这个词。因此,在第一行中,结果必须是“特殊的”,而在第二行中,结果必须是“特殊的”。

我尝试过类似的事情:

^.*class\ (?<classname>.*)\w.$

但是这个正则表达式我得到'特殊'和'特殊句子'。

2 个答案:

答案 0 :(得分:0)

(?i)(?<=(is\s))special

在您的示例中,special后获取is。你还没有指定一种语言,所以这就是我能给出的。将special替换为您要查找的单词,将is替换为您要查找的单词前面的单词。

答案 1 :(得分:0)

您可以使用此正则表达式:

\bis (\w+)

它将捕获is之后的单词。

具有lookbehind的替代版本:

(?<=\bis )(\w+)