繁体   English   中英

使用正则表达式匹配子字符串的最后一个单词

[英]using regular expression to match the last word of a substring

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

老人今天走了很长时间。

在“盲人”一词中可以是任何东西,可以是一个或多个单词,“今天”可以是任何东西,但总是一个单词,并且“很长一段时间”。 总是一样的 我试图获得“走”,每次都是一个不同的词。

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

这使我“老人走路”

我试图从那里做的事情是获得该子字符串的最后一个字,但我不知道要添加到正则表达式中的内容是什么。 仅使用子字符串方法会更好吗?

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

您可以匹配整个内容,并仅将()中您关心的内容分组。 像这样:

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);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM