我有一个字符串---TIMESTAMP Tue, 24 Oct 2017 02:11:56 -0400 [1508825516987]---
我希望获得[]
(即1508825516987
)
如何使用Regex获取值?
答案 0 :(得分:2)
说明:
\[
:[
是一个元字符,如果您想要按字面意思匹配,则需要进行转义。(.*?)
:以非贪婪的方式匹配所有内容并捕获它。\]
:]
是一个元字符,如果您想要按字面意思匹配,则需要进行转义。解释来源:Click
static void Main(string[] args)
{
string txt = "---TIMESTAMP Tue, 24 Oct 2017 02:11:56 -0400 [1508825516987]---";
Regex regex = new Regex(@"\[(.*?)\]", RegexOptions.IgnoreCase | RegexOptions.Singleline);
Match match = regex.Match(txt);
if (match.Success)
{
for (int i = 1; i < match.Groups.Count; i++)
{
String extract = match.Groups[i].ToString();
Console.Write(extract.ToString());
}
}
Console.ReadLine();
}
学习创建正则表达式的链接:
更新1:
Regex regex = new Regex(@"^---.*\[(.*?)\]", RegexOptions.IgnoreCase | RegexOptions.Singleline);
答案 1 :(得分:0)
您可以使用以下代码获得您想要的结果!
MatchCollection matches = Regex.Matches("---TIMESTAMP Tue, 24 Oct 2017 02:11:56 -0400 [1508825516987]---", @"\[(.*?)\]", RegexOptions.Singleline);
Match mat = matches[0];
string val = mat.Groups[1].Value.ToString();
而字符串 val 将包含您所需的值。