Wszystko
Wszystkie
Archiwum
31
RegExp Quiz
- 7
- #
- #
- #
- #
- kamdz
- banex
- konto usunięte
- konto usunięte
- Rincewind
- +9 innych
@anonim1133: Poprawka do 12:
Teraz dopasowuje wszystko z zyskiem 1 punktu.
Ewentualnie można się pokusić o poprawę 9 na:
O wiele mniej czytelne i typowo data specific (podobnie jak rozwiązania wicepsa i paffnucego), ale daje +7 punktów. :)
Po tych zmianach Wykop uzbierał 3029 punktów. Gdzie należy się zgłaszać po nagrodę?
Teraz dopasowuje wszystko z zyskiem 1 punktu.
Ewentualnie można się pokusić o poprawę 9 na:
O wiele mniej czytelne i typowo data specific (podobnie jak rozwiązania wicepsa i paffnucego), ale daje +7 punktów. :)
Po tych zmianach Wykop uzbierał 3029 punktów. Gdzie należy się zgłaszać po nagrodę?
#programowanie #regexp
Potrzebuję wyrażenie regularne które wyciągnie z treści ciąg dokładnie 9 cyfr (ani 1 więcej ani mnie). Z tym że w treści mogą występować też ciągi dłuższe (one powinny zostać olane). Ma ktoś na szybko?
Potrzebuję wyrażenie regularne które wyciągnie z treści ciąg dokładnie 9 cyfr (ani 1 więcej ani mnie). Z tym że w treści mogą występować też ciągi dłuższe (one powinny zostać olane). Ma ktoś na szybko?
- 5
(\d{9,9})[^\d]
- 5
Hej mirki mam problem z regexpem. Musi on wyłapywać poprawną konstrukcję IF'a w javie, która nie jest zawarta w komentarzu i literale. Macie może jakiś pomysł? #programowanie #java #regexp #kiciochpyta
@Dyzajash: Coś takiego powinno pomóc:
Ale coś czuję, że potrzebujesz parsera. Regexpy nie nadają się do takich zastosowań. Powyższy regex dopasuje
z dopasowaniem warunku równym
. Przerobienie dopasowania warunku na lazy (czyli
) dla tego samego wejścia dopasuje warunek jako
. Oba nie wydają się prawidłowe, i regexpami tych problemów nie przeskoczysz.
^\s*if\s*\((.*)\)
Ale coś czuję, że potrzebujesz parsera. Regexpy nie nadają się do takich zastosowań. Powyższy regex dopasuje
if(a==)()
z dopasowaniem warunku równym
a==)(
. Przerobienie dopasowania warunku na lazy (czyli
.*?
) dla tego samego wejścia dopasuje warunek jako
a==
. Oba nie wydają się prawidłowe, i regexpami tych problemów nie przeskoczysz.
żadnych dodatkowych bibliotek poza standardowymi używać nie mogę.
@Dyzajash: Antlr wygeneruje Ci kod, który potem sobie skopiujesz, nie potrzebujesz żadnych bibliotek.
@GGrindzior: Generalnie tak właśnie powinieneś zrobić – łatwiejsze w zrozumieniu i utrzymaniu oraz ewentualnym rozszerzaniu. Ponadto lookahead jest dość kosztowny w regexpach (tu raczej nie będzie to miało większego wpływu, ale jednak).
A w zasadzie, jeśli to tylko sprawdzanie rozszerzenia, to najprostszy sposób będzie najlepszy:
[1] Tablica z niechcianymi rozszerzeniami – blacklista,
[2] split nazwy pliku po kropce,
[3] sprawdzenie, czy ostatni element splitowanej tablicy jest na blackliście.
Blacklistę można wtedy
A w zasadzie, jeśli to tylko sprawdzanie rozszerzenia, to najprostszy sposób będzie najlepszy:
[1] Tablica z niechcianymi rozszerzeniami – blacklista,
[2] split nazwy pliku po kropce,
[3] sprawdzenie, czy ostatni element splitowanej tablicy jest na blackliście.
Blacklistę można wtedy
- 3
@Rincewind: "I żaden regexp nie jest potrzebny" brzmi jak "i żyli długo i szczęśliwie". Siriusli. Podpisuję się obiema rękami pod mottem, którym Damian Conway opatrzył rozdział o wyrażeniach regularnych w książce "Perl Best Practices", cytuję z pamięci: "Czasami programista napotyka na problem i myśli sobie: wiem, rozwiążę to wyrażeniem regularnym! Od tej pory ma dwa problemy."
Mirki, mam problem :)
http://regexr.com?372jl
Jak widać wyrażenie excluduje słowo 'mirko'. Chciałbym żeby jakoś zmodyfikować ten regexp żeby wycinał słowo ze znakami specjalnymi (w ogóle to najlepiej dowolny łańcuch) na przykład mirko$ . Ktoś jest w stanie pomóc?
#nauka #informatyka #regexp #pytaniedoeksperta
http://regexr.com?372jl
Jak widać wyrażenie excluduje słowo 'mirko'. Chciałbym żeby jakoś zmodyfikować ten regexp żeby wycinał słowo ze znakami specjalnymi (w ogóle to najlepiej dowolny łańcuch) na przykład mirko$ . Ktoś jest w stanie pomóc?
#nauka #informatyka #regexp #pytaniedoeksperta
- 0
@chce_minusa: tagu nauka nie używamy w sensie 'uczę się', ale dla nauki jako science - odkrycia, badania, artykuły. Pzdr!
@babisuk: jeżeli taką przyjęto konwencję to postaram się do niej stosować, ale zrobię to tylko z uwagi na fakt, iż kolega jest bordo ;)
btw. problem udało mi się rozwiązać wykorzystując metodę split klasy String
btw. problem udało mi się rozwiązać wykorzystując metodę split klasy String
Jest wyrażenie regularne:
[a-z/./,/?/!]X[a-z/./,/?/!]
Chcę wyszukać takie 3 znakowe ciągi w pliku tekstowym i zamienić X na Q. Jak to zrobić w notepad++? Chodzi mi o to, żeby nie zamieniać całego ciągu, tylko środkowy znak.
#regexp #pytaniedoeksperta
[a-z/./,/?/!]X[a-z/./,/?/!]
Chcę wyszukać takie 3 znakowe ciągi w pliku tekstowym i zamienić X na Q. Jak to zrobić w notepad++? Chodzi mi o to, żeby nie zamieniać całego ciągu, tylko środkowy znak.
#regexp #pytaniedoeksperta
- 1
- 2
@handler: Miałem kiedyś podobny problem, nie podam ci teraz rozwiązania, bo nigdy nie pamiętam reguł, ale trzeba to napisać tak, żeby akceptował
dowolne 1, 2, lub 3 cyfry - tak łapiesz przedział od 1 do 999
a na końcu dopisz
- czyli akceptowanie 1000 :)
edit:
no jakoś tak to będzie
ale pewności nie mam :]
dowolne 1, 2, lub 3 cyfry - tak łapiesz przedział od 1 do 999
a na końcu dopisz
|1000
- czyli akceptowanie 1000 :)
edit:
no jakoś tak to będzie
([1-9][0-9]{3}|1000)
ale pewności nie mam :]
- 3
#programowanie #regexp
Mam takie wyrażenie:
I chciałbym je zmodyfikować tak, aby wykluczyć przypadki, gdy przed # (hashem) jest : dwukropek lub = znak równości. Mogę prosić o pomóc?
Mam takie wyrażenie:
/#([A-Za-z]+)/
I chciałbym je zmodyfikować tak, aby wykluczyć przypadki, gdy przed # (hashem) jest : dwukropek lub = znak równości. Mogę prosić o pomóc?
- 1
#pytanie #pytaniedoeksperta #regexp #programowanie
Chciałbym za pomocą wyrażenia regularnego podzielić taki oto tekst:
na
Takie
i takie
pasuje, ale tylko jeżeli wewnątrz tekstu nie pojawiają się podwójne cudzysłowy.
Jakieś podpowiedzi?
Chciałbym za pomocą wyrażenia regularnego podzielić taki oto tekst:
"TEKST 1" "TEKST 2" """TEKST 3"" ASDFA"
na
"TEKST 1"
"TEKST 2"
"""TEKST 3"" ASDFA"
Takie
"[^"]*"
i takie
".*?"
pasuje, ale tylko jeżeli wewnątrz tekstu nie pojawiają się podwójne cudzysłowy.
Jakieś podpowiedzi?
- 2
- 1
Nawiasy na zewnątrz pozwolą Ci złapać całość wyrażenia w razie co. Nie są konieczne jeśli preg_matcha używasz - wtedy domyślnie cały regexp jest zwracany do wyniku. Grunt, że działa :) Nie ma to jak fajna łamigłówka dla wprawy na początek dnia :)
#programowanie #pytanie #webdev #wyrazeniaregularne #regexp #kichiochpyta
Znacie jakiś fajny program, żeby wyciągnąć dane z pdf/txt za pomocą wyrażeń regularnych i potem zapisać to w jakimś pliku csv,xls?
Znacie jakiś fajny program, żeby wyciągnąć dane z pdf/txt za pomocą wyrażeń regularnych i potem zapisać to w jakimś pliku csv,xls?
- 1
@YvusBellator: tak, notepad++ w przeglądarce pdf robisz zaznacz wszystko, kopiujesz, a potem w npp wyszukujesz wyrażenia regularne, robisz makro i tyle :)
Możesz też oczywiście np w php coś takiego napisać :)
Możesz też oczywiście np w php coś takiego napisać :)
- 0
@YvusBellator: Bez dodatków,same makro wystarczy dobrze zrobić, czyli wyszukujesz wyrażenie regularne kopiujesz je do schowka i powiedzmy wklejasz na końcu dokumentu :) Tak na szybko pomyślane, ale Notepad++ jest do tego świetny :))
@chce_minusa: ale zasadniczo to prezes miał racje. Pisz pod razu o co chodzi. Ja juz nie przy kompie, to nie dam rady pomoc.
- 1
@kasper93: Podaj przykładowe dane
- 1
- 2
144
8 praktycznych wyrażeń regularnych
- 80
- #
- #
- #
- #
- 1
/AI_OUTPUT[ ]+\((.*?),(.*?),(.*?)\).*?\/\/(.*)/mi
Co te regeksy to ja nawet nie.
#nocnerozkminy #programowanie #regexp
@erwit: To takie potworki #!$%@?ące umysł jak wyżej. Służą do przetwarzania tekstu.
@mqmq: znaczekPodTylda tresc znaczekPodTylda ⟶
tresc
!spoiler tag