0

我有 2 个字符串。我需要一个正则表达式。

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 回答