簡體   English   中英

正則表達式與<和>

[英]Regex with < and >

好吧,我有一個文件,可能會或可能不會換行或送紙。 坦率地說,我需要忽略這一點。 我需要搜索文檔,找到所有<和matching>標記,並刪除其中的所有內容。 我一直在嘗試使其工作一段時間,我目前的正則表達式是:

private Regex BracketBlockRegex = new Regex("<.*>", RegexOptions.Singleline);
....
resultstring = BracketBlockRegex.Replace(filecontents, "");

但這似乎不起作用,因為它可以抓住很多機會。 有什么線索嗎? C#中的<和>符號是否有些奇怪?

更換

<.*> 

<.*?>

嘗試使用正則表達式的非貪婪變體:

<[^>]*>

您所擁有的<.*>將匹配第一個<然后匹配所有內容,直到最后一個 > ,而您要匹配的是一個。

正則表達式是貪婪的,並且您有一個等於任何東西的句點,正好包括大於和小於字符。

嘗試這個...

<[^<>]*>

可以說是Internet上最好的正則表達式資源。

嘗試:

private Regex BracketBlockRegex = new Regex("<.*?>", RegexOptions.Singleline);

請注意,您可能需要添加一些有關如何中斷源數據的解析限定符。

HTML標簽可以在空白處分成不同的行。

<IMG
SRC =“ blah.jpg”
ALT =“ blah”
>

一些正則表達式解析器可能匹配,也可能不匹配 到\\ r或\\ n取決於設置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM