[英]Parse String from string with Regex
我想從正則Regex
的字符串中獲取字符串:
Regex regex = new Regex(".signature=(.*)(", RegexOptions.Singleline);
var v = regex.Match(html);
string funcName = v.Groups[1].Value;
這是一個HTML
字符串:
c&&(b.signature=hj(c));
我想獲得hj
,當我運行它時,出現此exception
:
parsing ".signature=(.*)(" - Not enough )'s.
您必須轉義特殊字符。 用這個:
Regex regex = new Regex(@"\.signature=(.*)\(", RegexOptions.Singleline);
var v = regex.Match(html);
string funcName = v.Result("$1");
您可以在正則表達式中找到有關轉義特殊字符的很好的解釋(第二段): http : //www.regular-expressions.info/characters.html
編輯:
如果您在整個html頁面中搜索此特定功能,則會遇到問題,這是因為.*
貪婪,這意味着它嘗試獲取盡可能多的可能性(有關此內容的詳細說明,請參見http:// www .regular-expressions.info / repeat.html (第3段)
更好的方法是:
Regex regex = new Regex(@"\.signature=([^\(]+)\(", RegexOptions.Singleline);
var v = regex.Match(html);
string funcName = v.Result("$1");
[^\\(]+
搜索至少包含1個字符的字符串,且不包含(
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.