0

私は2つの文字列を持っています。両方に1つの正規表現が必要です。

s1="The 8481D provides extraordinary accuracy, stability, and lower SWR.";

s2="<li>Complete with case and 9V battery</li><div id='warranty'><img src='1yr.gif'>";

s1のすべての文字とs2の文字を次の文字まで取得する必要があります。<div id='warranty'>

したがって、次のようになります。

    s1="The 8481D provides extraordinary accuracy, stability, and lower SWR.";

    s2="<li>Complete with case and 9V battery</li>";

私は考えました:.+?(?<=<div id="warranty">)しかし、私はs2文字列だけを取得し、これも.+?(?<=<div id="warranty">|\.)機能しませんでした。s1を取得しましたが、s2の文字が多すぎました。

4

2 に答える 2

2
.+?(?=<div\sid='warranty'>|\.)

または、ドット正規表現を含めたい場合は、次のようになります。

^.+?(?=<div\sid='warranty'>|$)
于 2012-07-05T07:31:19.473 に答える
1

C# でこれを行う最も簡単な方法は、 IndexOfandSubstringメソッドを使用することです ( を主張しない場合Regex):

static String GetValidString(String inputString)
{
    int end = inputString.IndexOf("<div id='warranty'>");
    if (end == -1)
        end = inputString.Length;
    return inputString.Substring(0, end);
}
于 2012-07-05T07:47:49.963 に答える