的我現在有這個(C#)字符或結束時終止:正則表達式就行
http:\/\/([^""']*[^""']*).*?((?=<)|(?=$))
正如你可以看到我想要使用先行終止線的<
或結束的正則表達式。 以上是不工作:(如果我刪除|(?=$)
然後它只會工作,如果<
在字符串中。我怎麼能得到正則表達式終止當<
或$
發生?(注意:我不想包括在<
在我的結果)
任何指針將不勝感激。
的我現在有這個(C#)字符或結束時終止:正則表達式就行
http:\/\/([^""']*[^""']*).*?((?=<)|(?=$))
正如你可以看到我想要使用先行終止線的<
或結束的正則表達式。 以上是不工作:(如果我刪除|(?=$)
然後它只會工作,如果<
在字符串中。我怎麼能得到正則表達式終止當<
或$
發生?(注意:我不想包括在<
在我的結果)
任何指針將不勝感激。
您需要<
符號添加到字符類也或以其他方式捕獲組貪婪地捕捉<
性格也。
http:\/\/([^"'<]*[^"'<]*).*?(?=<|$)
這[^"'<]*[^"'<]*
如果原始字符串具有多行,那麼請不要忘記,包括\n
字符類裏面會被寫爲[^"'<]*
,
@"http:\/\/([^""'<]*).*?(?=<|$)"
。最好包含多行修飾符。
@"(?m)http:\/\/([^""'<\n]*).*?(?=<|$)"
我怎樣才能獲得正則表達式來終止當任<或$
您可以使用此lookah與交替EAD:
(?=<|$)
我用'http:\/\ /([^「''] * [^」''] *)。*?(?= <| $)'現在它不會終止於'<'。 – Drakkainen 2014-11-04 14:10:14
你能告訴我你的輸入字符串 – anubhava 2014-11-04 14:10:32
'http://ds.serving-sys.com/BurstingCachedScripts//ReportPage_2_8_2_0.html?ebReportURL=http://bs.serving-sys.com/BurstingPipe/adServer.bs?cn = brd&Page
你能描述一下你的目標嗎?您是否正在尋找位於行尾或緊跟着「<」字符的網址? – Gus 2014-11-04 14:09:57
您是使用SingleLine還是Multiline作爲選項? – OmegaMan 2014-11-04 14:19:29
@Gus要找到任何以http://開頭的網址,但有些網址包含html元素(不要問我爲什麼,我不知道),我想確保在'<'之前退出,打開一個新的標籤,網址將仍然有效。 @OmegaMan Multiline and IgnoreCase – Drakkainen 2014-11-04 14:22:56