2015-04-16 1 views
0

Если строка содержит что-то вроде: https://website1.comhttps://website2.comКак использовать рег ех сосчитать вхождения подстроки в строке (.NET Framework)

Как создать регулярное выражение, которое будет возвращать значение 2. Значение, так как «https: //» встречается дважды в этой строке, оно должно возвращаться. 2.

В настоящее время я использую это регулярное выражение для разбора между двумя «https: //», но понятия не имею, как его адаптировать для возврата числа «https //» в строке (в этом случае 2).

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

Использование .NET Framework. Благодаря тонну за помощь

+2

используйте это регулярное выражение 'https: \/\ /', а затем подсчитайте согласованные результаты. –

+0

Отлично! Так просто, спасибо. – Mathomatic

+0

Я думаю, что вам не нужно регулярное выражение вообще, просто подсчитайте подстроку 'https: //' ... –

ответ

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.

Смежные вопросы