0

我需要匹配一个句子中的一个单词,它几乎可以是任何东西。该句子类似于以下内容:

老人今天走了很长时间。

在句子中,“盲人”可以是任何东西,可以是一个或多个词,“今天”可以是任何东西,但始终是一个词和“很长一段时间”。总是一样的。我试图让“散步”每次都是不同的词。

我尝试过的是: (.+)(?= .+ 很长一段时间。)

这让我“老人走路”

我试图从那里做的是获取该子字符串的最后一个单词,但我不知道要在正则表达式中添加什么来获取它。只为此使用子字符串方法会更好吗?

编辑:写错了我要找的词,在上面的文字中更正了。

4

1 回答 1

1

您可以匹配整个事物并仅将您关心的事物分组在 ( ) 中。像这样:

string s = "^.* ([^ ]+) for a long time\\.$";

Regex r = new Regex(s);
Match m = r.Match("The old man walks today for a long time.");
if(m.Success)
{
    Console.WriteLine(m.Groups[1].Value);
}
于 2013-03-07T10:48:26.970 回答