当角色出现时,正则表达式结束

时间:2015-02-10 12:46:15

标签: c# regex

/index.php?option=com_phocagallery&view=category&id=54:jubilaci-2014&Itemid=57"><img src="/./images/phocagallery/jubilaci2014/thumbs/phoca_thumb_m_zbiorwka zbowice kopiowanie.jpg" alt="Jubilaci 2014" style="border:0" />

/index.php?option=com_phocagallery&view=category&id=52:obszar-funkcjonalny-kluczbork-namysw-olesno&Itemid=57"><img src="/./images/phocagallery/obszarfunkcjonalny/thumbs/phoca_thumb_m_dsc_1005retusz kopiowanie.jpg" alt="Obszar Funkcjonalny Kluczbork-Namysłów-Olesno" style="border:0" />

/index.php?option=com_phocagallery&view=category&id=39:szkolenie-z-obrony-cywilnej&Itemid=57" class="category">Szkolenie z Obrony Cywilnej

我得到这样的列表,我想从这个唯一的链接中获取,如下:

/index.php?option=com_phocagallery&view=category&id=26:jubilaci-2011&Itemid=57

如何使用Regex进行操作?也许如何在角色之前获得一切,在我的情况下它将是:

"

我试过这样的事情:

.*">

但它并不像我想的那样工作。

2 个答案:

答案 0 :(得分:2)

这是一个没有前瞻的解决方案:

^[^"]+
  • ^:行首,
  • [^"]:所有不是双引号的字符,
  • +:至少有一个字符(贪婪 =尽可能多)。

但是,由于您已将问题标记为C#,因此您可以在"上拆分并执行第一部分 - 不需要正则表达式:

var result = myString.Split('"')[0];

答案 1 :(得分:1)

你需要使用积极的先行断言。

@"(?m)^.*?(?="")"

它匹配从开头到第一个"双引号的所有字符。

DEMO