Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 正则表达式,在两个单词之间找到一个单词_C#_.net_Regex - Fatal编程技术网

C# 正则表达式,在两个单词之间找到一个单词

C# 正则表达式,在两个单词之间找到一个单词,c#,.net,regex,C#,.net,Regex,我有这根绳子 <p/><ul><li>test1<p/></li><li>test2<p/></li></ul><p/> 测试1测试2 我试图做的是提取“li”标记内的所有“p”标记,而不是它之外的“p”标记 我只能到目前为止 按提取所有“li”标记 \(*?)\ 我不知道如何提取其中的“p”标记 非常感谢任何指针 (.*?*?) <li>(.*?<p/

我有这根绳子

<p/><ul><li>test1<p/></li><li>test2<p/></li></ul><p/>

  • 测试1

  • 测试2

我试图做的是提取“li”标记内的所有“p”标记,而不是它之外的“p”标记

我只能到目前为止 按提取所有“li”标记

\(*?)\
我不知道如何提取其中的“p”标记

非常感谢任何指针

  • (.*?*?)
  • <li>(.*?<p/?>.*?)</li>
    
    将匹配
  • 之间的所有内容,其中也包含

    。如果您只想匹配

    ,那么:

    (?<=<li>).*?(<p/?>).*?(?=</li>)
    
    (?
  • (.*?)
  • 将匹配
  • 之间也包含

    的所有内容。如果您只想匹配

    ,则:

    (?<=<li>).*?(<p/?>).*?(?=</li>)
    

    (?使用HTML解析器而不是正则表达式要可靠得多。使用:

    HtmlDocument doc=新的HtmlDocument();
    doc.LoadHtml(“

    • test1

    • test2

      • ”; IEnumerable结果=doc.DocumentNode .后代(“李”) .SelectMany(x=>x.p);


    使用HTML解析器而不是正则表达式要可靠得多。使用:

    HtmlDocument doc=新的HtmlDocument();
    doc.LoadHtml(“

    • test1

    • test2

      • ”; IEnumerable结果=doc.DocumentNode .后代(“李”) .SelectMany(x=>x.p);


    试试这个,它使用前瞻,这样LI就不属于选择范围

    (?<=<li>)(.*?<p/?>.*?)(?=</li>)
    

    (?试试这个,它使用前瞻,这样LI就不属于选择的一部分

    (?<=<li>)(.*?<p/?>.*?)(?=</li>)
    

    (?使用HTML解析器解析HTML。HTML不是“常规语言”,因此无法使用正则表达式正确解析。使用HTML解析器解析HTML。HTML不是“常规语言”因此无法用正则表达式正确解析。你和James是Regx Nija!谢谢lotYou和James是Regx Nija!谢谢lotThanks Marks。事实上,我正在解析bbcode中的一堆文本,在最后一次转换bbcode后,文本是这样的,所以我需要做一些清理。但是谢谢你的建议尽管如此。谢谢马克。事实上,我正在解析bbcode中的一堆文本,在最后一次转换bbcode之后,文本就是这样出来的,所以我需要做一些清理。不过谢谢你的建议。
    
    <ul><li><p>test1<p/></li><li><p>test2<p/></li></ul>