2013-02-19 4 views
0

какое регулярное выражение соответствует строке, содержащей не менее 3 хэша используется для разграничения слов?php regex preg_match

Матчи:

the-rain-in-spain 
the-rain-in-spain-is-falling-on-the-plain 

Не соответствует:

the-rain-in 
the---in 
+3

Вы пытались сделать что-то сами? – 2013-02-19 05:18:14

ответ

0

Вы можете использовать это регулярное выражение

\w+(-\w+){3,} 

\w похож на [a-zA-Z0-9_]

\w+ матчей 1 до многих характера

{3,} является квантором, подпадающими предыдущей группой 3 во много раз

0

я не знаю о PHP, но это работает для меня

//string strtmp = "the-rain-in"; 
//string strtmp = "the-rain-in-spain"; 
    string strtmp = "the-rain-in-spain-is-falling-on-the-plain"; 
//string strtmp = "the---in"; 
    Match matchdec = Regex.Match(strtmp, @"\w+(-\w+){3,}", RegexOptions.IgnorePatternWhitespace | RegexOptions.IgnoreCase);      
    if (matchdec.Success) 
     { 
      //your code 
     } 

Надеется, что это помогает

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