Loading...
pataroka avatar pataroka 319 Точки

[Useful Info] Advanced C# - Regular Expressions

Относно лекцията - https://youtu.be/4bSOj2IC9qs?t=1814

Фил, сайтът не е счупен, а съвсем логично с '*' регексът се опитва да хване 0 или повече мача. реално всяка малка буква е мач за 0. Затова regexr.com изкарва по-верния резултат - Infinite... Този регекс съвсем логично работи с '+'. Те хората са си го написали отстрани, ама кой да чете:

  • Quantifier: * Between zero and unlimited times, as many times as possible, giving back as needed [greedy]
Тагове:
1
C# Advanced
iliqnvidenov avatar iliqnvidenov 16 Точки

Здравей, вече има отворена тема за това домашно. Според мен там би трябвало да пускаме всички полезности по домашното, както и самите решения. :)

0
pataroka avatar pataroka 319 Точки

Коментарът ми не е по домашното, а по лекцията - затова - нова тема.

1
enevlogiev avatar enevlogiev 1168 Точки

Аз не съм съгласен, определено е бъг и не трябва да прави така. Току-що тествах с произволни текстове и няма същото поведение

0
pataroka avatar pataroka 319 Точки

Колега enevlogiev, хубаво е, когато пускаме спорни твърдения в пространството, да ги подкрепяме с доказателства:

... на още петдесет сайта да се пробва тоя регекс - все ще даде същия резултат. Ако е само на едно място -  нека е бъг, но когато грешката се повтаря - очевидно има нещо нередно...

Човешко е да грешиш - божествено е да си признаваш грешката...

1
16/05/2015 13:21:35
enevlogiev avatar enevlogiev 1168 Точки

Ами окей : D Ето ти доказателство, току-що.

Освен това аз обичам да тествам всичко, затова пробвах и какво се случва в Webstorm, PHPStrom и Visual Studio. Във всеки имаше по 481 match-a. Нито един от тях не беше малка буква. Не ми се занимава да качвам доказателства.

PS: да, и +1 за напомнянето, че все пак трябва да има доказателства.

 

0
16/05/2015 13:37:30
pataroka avatar pataroka 319 Точки

Прави ли ти впечатление, че броя на мачовете и в моя и в твоя пример е един и същ. И също така е далеч по-голям от броя на визуализираните.

Ето код с вход и изход - виждаш ли празните места? Това са 0 или повече мачнати малки букви, които връщат празен стринг...

https://dotnetfiddle.net/42wLXQ

0
16/05/2015 14:25:34
Filkolev avatar Filkolev 4482 Точки

Установих малко след лекцията какво точно се е случило относно проблема с малките букви, които се хващаха, а не трябваше. Видях на записа, че като маркирам някоя от уж хванатите малки букви, ми показва като инфо нещо съвсем различно. Т.е. енджина си беше наред, беше се счупил инструмента, който хайлайтва мачовете. Подозирам, че е свързано с постоянното zoom in-out, което се налагаше да правя, за да виждат хората в залата какво правя.

За lazy/greedy ще добавим слайд в презентацията и ще го обясним на подготовките най-вероятно. Но ако кажеш, че не искаш да хващаш цифри, няма как да хванеш такива, независимо какъв ти е quantifier-a, lazy или greedy.

1
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.