#regex #wyrazeniaregularne #javascript #html #html5

Potrzebuję zrobić maskę na input. Z różnych względów muszę zrobić to za pomocą js.
Dla uproszczenia przyjmijmy, że chodzi o wyczyszczenie zmiennej ze zbędnych znaków.

Ma zostać tylko cena w formacie:
cyfry(od 1 do 6), kropka (może być, ale nie musi), jeśli była kropka to tutaj 1 lub 2 liczby.
Jeśli ktoś wpisze 123.456 to wyjściowe ma być 123.45

Z góry dzięki za pomoc :-)
Czy w #zabbix lub w samych #wyrazeniaregularne jest możliwość, która pozwoli na skupienie się tylko na ostatnim matchu?
Log ma poniższą strukturę, mój regex to [A-Z]+. Aktualnie wyłapuje OK/FAIL, mi zależy na tylko ostatnim spasowaniu. Chcę uniknąć sztuczek w stylu tailowania i zrzutu do innego pliku.

2019-08-02 07:33:32 ---> OK
2019-08-02 08:32:42 ---> FAIL
2019-08-02 09:29:31 ---> OK
2019-08-02 10:29:23 ---> FAIL
2019-08-02 11:31:45 ---> OK
2019-08-02 12:30:55 ---> OK
2019-08-02 13:29:14
@piter12: Kurła serio, zajmujesz się stroną internetową i nie wiesz jak ustalić wyrażenie regularne na potrzeby filtrów GA? I szukasz rady na Wykopie zamiast zajrzeć na stronę lub infolinię usługodawcy?
Mircy, czy możliwe jest stworzenie wyrażenia regularnego które będzie szukało określonego wyrazu?

Druga część pytania - czy jeśli już mam regex który szuka dwóch wyrazów, to czy możliwe jest stworzenie takiego wyrażenia, które je pogrupuje tak, że w jednej grupie będzie dany string i liczba która się pojawia po nim (nie bezpośrednio) i w drugiej grupie to samo tylko z drugim stringiem i drugą liczbą?

Z której strony ugryźć ten temat? Gdzie
@tamian: Twoje szczęście, że jak na bordo przystało w piątek w nocy mogę siedzieć na wykopie i pomagać w programowaniu ;)

A tak poważniej. Jako wprowadzenie bardzo spoko jest ten tutorial:
https://regexone.com
Bo automatycznie możesz sobie ćwiczyć przy nim.
Jak chcesz sobie ćwiczyć samodzielnie to polecam stronkę: https://regex101.com/
Ma kilka zalet:
- zaznacza co pasuje, ładnie kolorując całość
- automatycznie wyjaśnia używane przez Ciebie elementy składni wyrażenia regularnego
- prezentuje szczegóły
Mirki, pytanko mam szybciutkie do was, chciał bym nauczyć się wyrażeń regularnych w #php. Wymyśliłem sobie zadanie, mam jakiś string, wewnątrz niego jakieś teksty i kilka linków:
test
oraz kilka innych, np:
test2

teraz chciał bym wyciągnąć to co jest między znacznikami ten tekst, pamiętajmy że link może mieć klasę, title itd. ale nie musi!

pregmatchall("/(.+)<\/a>/", $string, $matches, PREGSETORDER);

to zwraca mi tablicę, ale nie tylko to
@Govr: najprościej chyba

(.*?)
i wtedy pierwszą tablice będziesz miał całość tego wyrażenia, a w każdej kolejnej nawiasy, w tym przypadku "tutaj" dla każdej złapanej linii.
Przy okazji polecam sobie testować regexy np tu. http://www.phpliveregex.com/

EDIT: w sumie to nie do końca odpowiedziałem na Twoje pytanie, w każdym razie oprócz całości wyrażenia to nawiasami () wyciągasz te dane, które chcesz zachować. Nie słyszałem o pomijaniu całości
Mam łańcuch znaków w postaci XAX, gdzie X to pewien znak powtórzony określoną ilość razy, a A to łańcuch dowolnych znaków za wyjątkiem liczb i konkretnego podłańcucha znaków. Jak wyglądałoby wyrażenie regularne dla takiego łańcucha? Chodzi mi konkretnie o wykluczenie tego konkretnego podłańcucha z łańcucha A.

Przykład:

--------
Przykładowy tekst gdzie
znajdować się może znak - (nie mogący się powtórzyc 8 razy pod rząd),
ale też każdy inny.
--------
Jakiś dalszy tekst.
Mam taki ciąg:

1 2 23 54 24 (liczby rozdzielone spacjami, bez określonej długości liczby).

Próbuję stworzyć regex, który wyłapałby mi każdą z liczb z osobna i wrzucił do grupy. Chciałem łapać najpierw pierwszą liczbę, po czym łapać pary (spacja)(liczba).

(\d+)(?: (\d+))+ - takie coś nie działa - łapie mi tylko pierwszą liczbę i ostatnią, te pomiędzy pomija kompletnie - czemu się tak dzieje i jak zrobić to poprawnie? Link do
@asunez: Regex ma dokładnie tyle grup, ile ma par nawiasów (nie licząc grupy zerowej). Nie można wsadzić nawiasu w gwiazdkę i mieć zmiennej ilości grup, a przynajmniej nie w standardowych implementacjach.