-8

以下のように検索する文字列がいくつかあります

\r\n1928A\r\n
\r\nabc\r\n
\r\n239\r\n

文中のこれらの文字列を見つける最良の方法は何ですか?

4

2 に答える 2

2

この正規表現を使用できます

\r?\n\w+\r?\n

単語間に1つしかない場合\r?\n...この正規表現を使用できます

\r?\n\w+(?=\r?\n)

\w1 桁の数字、アルファベット、または_

+先行するパターン 1 に何度も一致する量指定子です

したがって、\w+1対複数の単語に一致します

?オプションで前のパターンと一致します。

したがって、\r?オプションで\rに一致します


あなたのコードは

List<String> lst=Regex.Matches(input,regex)
                      .Cast<Match>()
                      .Select(x.Value)
                      .ToList();

または、より明確にするために

foreach(Match m in Regex.Matches(input,regex))
{
    m.Value;
}
于 2013-07-03T07:19:34.137 に答える
0

一致させたい単語が常にtwo の間にあると仮定すると、正規表現の代わりに\r\n使用することができます。string.Split()

string input = @"hello\r\nhow\r\nare\r\nyou?";
string[] words = input.Split(@"\r\n", StringSplitOptions.None);
// words == { "hello", "how", "are", "you?" }

if (words.Length >= 3)
{
    for (int i = 1; i < words.Length - 1; i++)
    // first and last elements ("hello" and "you?") are not between new lines
    {
        string word = @"\r\n" + words[i] + "\r\n";
        // do something with your words "how" and "are"
    }
}
于 2013-07-03T07:34:36.563 に答える