Професионална програма
Loading...
+ Нов въпрос
Mirineo avatar Mirineo 0 Точки

Regex - Exercises /05. UseYourChainsBuddy

От известно време умувам над тази задача и не мога да разбера защо този израз " (?<=<p>)(.+?)(?=<\/p>)" е грешен, но този "(<p>(.+?)<\/p>) " ми вади 100/100. Това е кода.

Ако някой има идея ще съм му благодарен. 

 

Тагове:
0
Fundamentals Module 23/02/2017 00:56:35
NonaG avatar NonaG 111 Точки

Ако има текст <p><p></p></p>, двата патърна го мачват различно. За да е коректен lookahead-а, трябва да е нещо подобно: (?<=<p>)(.*?(<\/p>)?)(?=<\/p>) - по този начин и в комбинация с твоя алгоритъм, където вземаш стойностите само на група 1, получаваш 100 т. Проблемът беше, че lazy  quantifier не работеше, т.е. мачва повече при lookahead-а.

 

0