簡體   English   中英

C# 正則表達式與我的字符串不匹配

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM