有开始和结束的字符串的正则表达式 [英] Regex with start and end strings
本文介绍了有开始和结束的字符串的正则表达式的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个例子code
< H1>
< ASP:文字ID =ltAccountTitle=服务器>< / ASP:文字>
< / H1>
&所述p为H.;
< ASP:文字ID =ltNetBalance=服务器文本=净差额元:获取ResourceKey =ltNetBalanceResource>< / ASP:文字>
<跨度>
< ASP:文字ID =ltNetBalanceAmount=服务器>< / ASP:文字>
< / SPAN>
&所述; / P>
我想写一个普通的前pression找了半天字符串中的字符串。
匹配:
< ASP:文字ID =ltAccountTitle=服务器>< / ASP:文字>
和
< ASP:文字ID =ltNetBalanceAmount=服务器>< / ASP:文字>
其实我使用下面的code让所有匹配到字符串列表。与常规的前pression我能得到它?我试过了模式变量很多事情,但不可能解决这个问题。
VAR LST =新的List<串GT;();
VAR MCOL = Regex.Matches(文本2,图案); 的foreach(在MCOL赛米)
{
lst.Add(m.Value);
}
解决方案
您试图让只有那些ID和服务器RUNAT标签的文字,如果是下面的工作正常,我并准确得到2文字
静态无效TestRegEx()
{
字符串输入=< H1>中
+< ASP:文字ID = \\ltAccountTitle \\RUNAT = \\服务器\\>< / ASP:文字>中
+&下; / H1>中
+&所述; P>中
+< ASP:文字ID = \\ltNetBalance \\RUNAT = \\服务器\\文本= \\净差额\\荟萃:获取ResourceKey = \\ltNetBalanceResource \\>< / ASP:文字>中
+&所述;跨度>中
+< ASP:文字ID = \\ltNetBalanceAmount \\RUNAT = \\服务器\\>< / ASP:文字>中
+&下; /跨度>中
+&下; / P>中; VAR集合= Regex.Matches(输入< ASP:文字ID = \\\\\\ W * \\RUNAT = \\服务器\\>< / ASP:文字>); 的foreach(在收集匹配项)
{
Console.WriteLine(item.Value);
}
}
I have an example code
<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>
I want to write a regular expression to find strings inside a long string.
Matches:
<asp:Literal ID="ltAccountTitle" runat="server"></asp:Literal>
and
<asp:Literal ID="ltNetBalanceAmount" runat="server"></asp:Literal>
Actually I am using the code below to get all matches into string list. With which regular expression I can get it? I've tried many things for pattern variable but couldnt solve this problem.
var lst = new List<string>();
var mcol = Regex.Matches(text2, pattern);
foreach (Match m in mcol)
{
lst.Add(m.Value);
}
解决方案
Are you trying to get only literals that have ID and runat server tags, if yes the following works fine for me and gets exactly 2 literals
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);
}
}
这篇关于有开始和结束的字符串的正则表达式的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文