如何使用reg ex计算字符串中子字符串的出现次数(.NET Framework)

时间:2015-04-16 02:03:38

标签: .net regex string

如果字符串包含以下内容:https://website1.comhttps://website2.com

如何创建一个返回值为2的正则表达式。含义,因为“https://”在该字符串中出现两次,它应返回2.

我目前正在使用此正则表达式来解析两个“https://”,但不知道如何调整它以返回字符串中的“https //”的数量(在本例中为2)。 / p>

(?s)(?<=https://).+?(?=https://)

使用.NET Framework。非常感谢您的帮助

1 个答案:

答案 0 :(得分:0)

这是一种棘手的非正则表达方式:

var inp = "https://website1.comhttps://website2.com";
var cnt_nonrgx = inp.Length - inp.Replace("https://", "https:/").Length;

这是正则表达式:

var cnt_rgx = Regex.Matches(inp, "https://").Count;

这是一种经典的方式:

var cnt_liof = 0;
var idx = inp.IndexOf("https://");
while (idx > -1)
{
    cnt_liof += 1;
    idx = inp.IndexOf("https://", idx + 1);
}

所有结果均为2