0

私は文中の 1 つの単語に一致する必要があり、ほとんど何でもかまいません。文は次のようになります。

おじいさんは今日、長い間歩きます。

「盲人」という文では、「今日」は何でもかまいませんが、常に 1 つの単語であり、「長い間」です。常に同じです。毎回違う言葉である「散歩」を取得しようとしています。

私が試したのはこれです: (.+)(?= .+ for a long time.)

「老人が歩く」

そこから私がやろうとしていたのは、その部分文字列の最後の単語を取得することですが、それを取得するために正規表現に何を追加すればよいかわかりません。これには部分文字列メソッドを使用する方がよいでしょうか?

編集:私が探していた間違った単語を書きました。上記のテキストで修正されました。

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 に答える