![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 1.02.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie,
W jaki sposób uzyskać wyrażenie regularne określające dopuszczalne użycie w stringu: - jednego LUB dwóch wyrazów oddzielonych spacją o minimalnej długości znaków 3? To udało mi się uzyskać dla pojedyńczego wyrazu: /^[0-9a-zA-Ząćęłńóśźż]{3,}$/D Nie wiem jak umiejscowić w tym jedną spację w założeniu LUB. ;/ Pozdrawiam. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 18.11.2008 Ostrzeżenie: (0%) ![]() ![]() |
Czemu na tym forum jest tak zwalony edyto postów że nie można nic w środku poprawic? Chciałęm przekopiować Twój kod i dodać coś a tu zonk :\ Ogółem musisz to zrobić tak: ^([a-z]{3, } ){3, } ?$
Ten post edytował m_i_n 3.02.2010, 10:59:20 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Kod preg_match('/^(\w+)( {3,}\w+)?$/', $str, $matches); print_r($matches); \w+ zamien sobie na twoje [0-9a-zA-Ząćęłńóśźż]{3,} -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
@wookieb, Twoje wyrażenie wydaje się być błędne:
(\w+)//`w` 1 lub więcej//( {3,}// 3 lub więcej spacji //\w+//`w` 1 lub więcej//)? bardziej powinno być tak: Kod /^[0-9a-ząćęłńóśźż]{3,}( [0-9a-ząćęłńóśźż]{3,})?$/i
Ten post edytował pyro 3.02.2010, 11:12:48 -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
@wookieb, Twoje wyrażenie wydaje się być błędne: (\w+)//`w` 1 lub więcej//( {3,}// 3 lub więcej spacji //\w+//`w` 1 lub więcej//)? \w+ zamien sobie na twoje [0-9a-zA-Ząćęłńóśźż]{3,} Poza tym dowiedz się proszę co oznacza \w Ten post edytował wookieb 3.02.2010, 11:15:46 -------------------- |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Bardziej chodziło mi o hint ze spacjami. Wyrażenie napisane przez Ciebie wydaje się tylko akceptować tekst, gdy tylko ma on ich 3 lub więcej
Poza tym dowiedz się proszę co oznacza \w Po to dałem 'w' w apostrofy, bo nie chciało mi się pisać 'zbiór znaków [a-zA-Z0-9_]' \w == [a-zA-Z0-9_] Ten post edytował pyro 3.02.2010, 11:22:39 -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
- jednego LUB dwóch wyrazów oddzielonych spacją o minimalnej długości znaków 3? Czyli: wyraz wyraz(minimum 3 spacje)wyraz Wyrażenie napisane przez Ciebie wydaje się tylko akceptować tekst, gdy tylko ma on ich 3 lub więcej Nie ![]() A u mnie jest: wyraz wyraz(minimum 3 spacje)wyraz Chyba, że czegoś nie zrozumiałem ![]() Cytat Po to dałem 'w' w apostrofy, bo nie chciało mi się pisać 'zbiór znaków [a-zA-Z0-9_]' Wybaczam ![]() Ten post edytował wookieb 3.02.2010, 11:24:18 -------------------- |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 2 148 Pomógł: 230 Dołączył: 26.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
A u mnie jest: wyraz wyraz(minimum 3 spacje)wyraz Chyba, że czegoś nie zrozumiałem ![]() Właśnie wydaje mi się, że autorowi tematu chodziło o to, że wzorzec ma akceptować ciąg składający się z dwóch członów (jeśli jest spacja) po [a-zA-Z0-9]{3,}, rozdzielona jedną spacją. // edit Chociaż rzeczywiście autora można dwuznacznie zrozumieć. Ma podane obydwa rozwiązania. Niech teraz sobie wybierze. ![]() Ten post edytował pyro 3.02.2010, 11:28:45 -------------------- ET LINGUA EIUS LOQUETUR IUDICIUM
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Autor zweryfikuje
![]() -------------------- |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 18 Pomógł: 0 Dołączył: 1.02.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Dziekuje za zaangażowanie, dopiero dziś byłem w stanie odczytać post. Rzeczywiście można to było zrozumieć dwuznacznie. Chodziło mi o jeden lub dwa wyrazy. Jeżeli istniałyby dwa, to powinne być oddzialone pojedynczą spacją. Każdy wyraz (bez względu, czy wystąpi jako jeden czy jako dwa) powinien posiadać minimalną długość trzech znaków. ![]() ![]() Skoro tak go rozłożyliśmy na części pierwsze dopiszę problematykę. Projektowałem wzorzec do nazwy obiektu turystycznego. Rzadko zdarzają się trój wyrazowe nazwy, zostałem zatem przy dwóch. Obiekt turystyczny może przyjmować zatem jeden lub dwa wyrazy. Np. - Perła Południa - Hańcza Minimum wymagam ze względów estetycznych oraz z uwagi, że nazwa jest również przekształcana w subdomenę przez inny wzorzec. ![]() Ostateczna odpowiedź to zatem: |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.08.2025 - 23:32 |