C# Regular expressions negative lookahead exclude from match
在文本的某处我有一个带有 href
的链接
1 | ">somelink |
我需要将 href 属性中的文本替换为小写,<% %> 括号
的内容除外
应该看起来像:
1 | ">somelink |
我在想这样的事情..
谢谢!
如果你还没有弄清楚,试试这个。
1 2 3 4 5 6 7 8 9 10 | private void test() { string t = @"&test2=<%= MyClass2.Text %>&last_test=nothing"">somelink"; string fixed_string = Regex.Replace(t,"(?<=href="|href="[^"]*%>)([^"]*?)(?=<%|")", TestMatchEvaluator); } private string TestMatchEvaluator(Match m) { return m.Value.ToLower(); } |
这样的东西应该适合你...
1 2 3 4 5 | Regex test = new Regex(@"(?<=(href\\=""))[^<]+", RegexOptions.Compiled); string htmlCode = @""">somelink"; string result = test.Replace(htmlCode, test.Match(htmlCode).Value.ToLower()); |