[英]Regex multiline
我正在嘗試通過富文本框突出顯示“ <%”和“%>”之間的所有內容。 (例如,將每個javascript代碼都顯示為藍色)
到目前為止,所有其他突出顯示功能都可以使用,但是這些都是單行突出顯示。 我已經找到了執行多行代碼的正確代碼,但是我認為我的正則表達式在這一點上是錯誤的。
有什么建議么?
使用的正則表達式:
@"\\<\\%(.*?)\\%\\>"
示例代碼:
textextextext
<%
this is javascript code
%>
textextextextextextextext
預期結果:
<%
this is javascript code
%>
您需要添加DOTALL( s
)修飾符,並且也不需要在正則表達式中轉義<
, %
符號。 (?s)
修飾符可使正則表達式中的點也匹配換行符。
(?s)<%.*?%>
C#代碼應該是
String input = @"textextextext
<%
this is javascript code
%>
textextextextextextextext";
Regex rgx = new Regex(@"(?s)<%.*?%>");
foreach (Match m in rgx.Matches(input))
{
Console.WriteLine(m.Groups[0].Value);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.