![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 159 Pomógł: 0 Dołączył: 8.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam tekst w którym są daty 1 - 7 stycznia 2014 albo 26 maja 2015. Chciałbym pobrać wszystkie daty z tekstu. Dlatego też napisałem taki o to skrypt . Moje pytanie brzmi czy można zrobić , żeby funkcja funkcja preg_match_all kończyła swoje działanie na array[0] ? Z tego co przeanalizowałem funkcja preg_match_all tworzy array[3] w array[0] wpisuje daty typu od - do (1 - 7 stycznia 2014) i 26 maja 2015 w array[1] daty TYLKO typu 1 - 7 stycznia 2014 i array[2] daty TYLKO typu 26 maja 2015. Kombinowałem i szukałem w googlach czy można wyrażeniu regularnym zamiast operatora (or - |) użyć operatora (and - &) ale nic takiego nie znalazłem a moje kombinowanie meotda prób i błędów tez nic nie daje. Pozdrawiam |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
A w czym Ci to przeszkadza? w 0 masz wszystkie znalezione, w 1 tylko 1-szy pattern, w 2 tylko 2-gi pattern
PS. Obecny regex możesz delikatnie skrócić: Kod (\d{1,2}[\s-]+\d{1,2}\s+[[:alpha:]]+\s+\d{4})|(\d{1,2}\s+[[:alpha:]]+\s+\d{4})
Ten post edytował Pyton_000 6.06.2016, 09:18:21 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 159 Pomógł: 0 Dołączył: 8.01.2010 Ostrzeżenie: (0%) ![]() ![]() |
Może to dziwne, ale oprócz prawidłowego działania to chciałbym aby aplikacja która tworze używała jak najmniej pamięci, jak najmniej danych, jak najmniej mocy obliczeniowych i żeby skrypty odpalały się szybko itd.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Złota zasada, dopóki nie ma wyraźnego powodu do optymalizacji nie rób tego. Zmarnujesz tylko czas, siły, nerwy a wymierne korzyści będą niewspółmierne.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 697 Pomógł: 47 Dołączył: 19.12.2003 Skąd: Lublin Ostrzeżenie: (0%) ![]() ![]() |
Ojjj Pyton_000 (IMG:style_emoticons/default/biggrin.gif) (IMG:style_emoticons/default/biggrin.gif) (IMG:style_emoticons/default/biggrin.gif)
Oczywiście, że się da. Służy do tego ?:. Ogólnie każdy blok w nawiasach okrągłych ( ) to zwrócenie wartości, ale można to anulować za pomocą tych znaków np.
Pojawi się w wynikach
Nie pojawi się w wynikach EDIT: Jakby ktoś potrzebował terminologii :-). Pierwsze nazywa się grupa (group), a drugie grupa pasywna (passive group) Ten post edytował SHiP 6.06.2016, 19:40:51 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 02:23 |