我有一个示例代码
<h1>
<asp:Literal ID="ltAccountTitle" runat="server"></asp:Literal>
</h1>
<p>
<asp:Literal ID="ltNetBalance" runat="server" Text="Net balance" meta:resourcekey="ltNetBalanceResource"></asp:Literal>
<span>
<asp:Literal ID="ltNetBalanceAmount" runat="server"></asp:Literal>
</span>
</p>我想写一个正则表达式来查找长字符串中的字符串。
匹配项:
<asp:Literal ID="ltAccountTitle" runat="server"></asp:Literal>和
<asp:Literal ID="ltNetBalanceAmount" runat="server"></asp:Literal>实际上,我正在使用下面的代码将所有匹配项放入字符串列表中。我可以使用哪个正则表达式来获取它?我为模式变量尝试了很多方法,但都不能解决这个问题。
var lst = new List<string>();
var mcol = Regex.Matches(text2, pattern);
foreach (Match m in mcol)
{
lst.Add(m.Value);
}发布于 2014-02-25 18:46:32
您是否正在尝试仅获取具有ID和runat服务器标记的文本,如果是,则下面的方法对我来说很好,并且恰好获得2个文本
static void TestRegEx()
{
string input = "<h1>"
+ "<asp:Literal ID=\"ltAccountTitle\" runat=\"server\"></asp:Literal>"
+ "</h1>"
+ "<p>"
+ "<asp:Literal ID=\"ltNetBalance\" runat=\"server\" Text=\"Net balance\" meta:resourcekey=\"ltNetBalanceResource\"></asp:Literal>"
+ "<span>"
+ "<asp:Literal ID=\"ltNetBalanceAmount\" runat=\"server\"></asp:Literal>"
+ "</span>"
+ " </p>";
var collection = Regex.Matches(input, "<asp:Literal ID=\"\\w*\" runat=\"server\"></asp:Literal>");
foreach (Match item in collection)
{
Console.WriteLine(item.Value);
}}
https://stackoverflow.com/questions/22010313
复制相似问题