[英]C# regex not matching my string
我有一個正則表達式字符串:
string regex =
"\"\\d*\",\"(?<url>\\w|\\d|[().,-–_'])\".*";
還有一個我想與之匹配的字符串:
string line =
"\"4\",\"1800_in_sports\",\"24987709\",\"\",\"1906\",\"20171028152258\"";
當我嘗試獲取 url 類別,甚至檢查匹配項時,沒有匹配項:
var result = Regex.Match(line, regex);
string output = result.Groups["url"].Value;
如果我嘗試 Regex.IsMatch(..) 它也會返回 false。 我使用http://regexstorm.net/tester來測試它並且它在那里工作,但是,當我運行代碼時不是。
在 RegexStorm 中,我使用了以下模式:
"\d{1,3}","(?<url>\w|\d|\n|[().,-–_'])+?"
用\\d 替換\\\\d,用\\w 替換\\\\w。
正如 Dour High Arch 提到的,應該使用逐字串。 在雙引號前添加雙引號允許逐字字符串。
將字符串正則表達式更改為:
string regex =
@"""\d{1,3}"",""(?<url>\w|\d|\n|[().,-–_''])+?""";
現在返回匹配項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.