mam wstring takiej postaci:

>JAKAŚ NAZWA(12,cośtam,jakiś tekst,2,3)
a więc po prostu mniej-więcej funkcja, może być też np. FUNKCJA() bez argumentu, albo FUN(3) z jednnym, a więc bez przecinka. Zrobiłem dla tego taki regex:

L"^>(\w+)\((\w,?)?\)$"
Czy on jest dobry? Czy w std::match_results dostanę te argumenty oddzielane przecinkami?

#regex #programowanie #cpp #std
B->A pushback A

a takie wyrażenie nie należy do gramatyki regularnej tylko do bezkontekstowej.


@Nicolas_Bourbaki: to jest gramtatyka kontekstowa (mocniejsza niż bezkontekstowa). Bezkontekstowa to np. B -> A pushback reverse(A), gdzie reverse odwraca ciąg znaków
Jest takie powiedzenie: jeśli masz problem i chcesz go rozwiązać przy pomocy wyrażeń regularnych, to masz już dwa problemy...

Ale nie taki diabeł straszny. Chciałbym polecić wszystkim (znającym i chcącym poznać) wyrażenia regularne (regex) wspaniałe narzędzie, a jest nim regex debugger: https://regex101.com

W jednym miejscu macie świetne narzędzie do pisania i testowania wyrażeń regularnych. Do tego jest świetny quick reference do regexa. Jest również moduł quiz, gdzie możemy poćwiczyć sobie zadania.

I
#regex
#python

Mam problem z regexem który ma na zadanie wyszukać nazwisko z listu przewozowego. Napisałem prostego regexa który działa na tych testerach np. https://pythex.org/ czy https://regex101.com/ . Jednak w kodzie wyrzuca mi pustą listę.

import re

status_string = "2019-07-26 13:58:55 Przesyłka doręczona Odbiorca: NAZWISKO RZE"
reg_pattern = r'(?<=Odbiorca: )\w+'
reg = re.findall(reg_pattern, status_string)
print(reg)

Jakiś pomysł jak to rozwiązać?
@xulek: xD, no jak pobieram dane ze strony to nie czyta regexa, jak wkelje tekst do stringa to działa. W regexie dałem Odbiorca:\s zamiast Odbiorca: i teraz dziala tak jak trzeba
tl;dr Do niedzieli prawie 200 devkursów od 19,90 zł. ( ͡° ͜ʖ ͡°) VP obchodzi 4 urodziny. W związku z tym jest fajna promocja na kursy wideo, które można nabyć do 23 czerwca od 19,90 zł do 39,90 zł LINK. Ja ze swojej strony mogę polecić następujące kursy:

Kurs #git 29,90 zł LINK

Ponad 87 procent respondentów używa tego systemu do przechowywania kodu. Dzięki swojej popularności Git
Pobierz
źródło: comment_zbCmjWgNg7z8T1UZ8eA4OtxETq3xwX0T.jpg
Rekursywne wyrażenie regularne sprawdzające, czy tekst jest poprawnym wyrażeniem regularnym ( ͡° ͜ʖ ͡°)

/^((?:(?:[^?+*{}()[\]\|]+|\.|[(?:\^?\.|\^[^\]|[^\^])(?:[^\]\]+|\.)*\]|\((?:\?[:=!]|\?<[=!]|\?>)?(?1)??\)|\(\?(?:R|[+-]?\d+)\))(?:(?:[?+*]|\{\d+(?:,\d*)?\})[?+]?)?|\|)*)$/
https://stackoverflow.com/questions/172303/is-there-a-regular-expression-to-detect-a-valid-regular-expression

#regex #humorinformatykow
@HalEmmerich: Jako ciekawostka bardzo fajne, chociaż komentarze do odpowiedzi oraz inne odpowiedzi jasno dają do zrozumienia, że nie da się napisać regexa sprawdzającego czy ciąg znaków jest poprawnym regexem.
Mirki, jaki regex za pierwszym przejściem wyrzuci mi wszystkie spacje rozdzielające myślniki pomiędzy cyframi?
Przykładowe wejście:

1 - 1 - 1
1-1 - 1
a - 1 - 1
a - 1 - a

Przykładowe wyjście:

1-1-1
1-1-1
a - 1-1
a - 1 - a

Próbowałem: '([0-9]) ?- ?([0-9])' --> '\1-\2', ale to nie działa, bo "środkowa" jedynka jest "zużyta" przy pierwszym zmatchowaniu, więc pozostawia spacje wokół drugiego myślnika nietknięte.