![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 186 Pomógł: 4 Dołączył: 13.10.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam serdecznie,
Mam problem otóż nie potrafie stworzyć prostego zapytania. mam jakiś tam content "witaj {{ test }} zegnaj" chciałbym wyciągnąć sobie to co jest pomiędzy {{ }} w tym przypadku test Moja fukcja to Co robie źle? -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 292 Pomógł: 89 Dołączył: 27.12.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Twoje wyrażenie zakłada przede wszystkim że nawiasy mają się znaleźć na samym początku zdania ("^" - początek ciągu) więc "witaj {{ test }} zegnaj" nie pasuje do wzorca.
Druga rzecz, że gwiazdka "*" w składni PCRE oznacza 0 lub więcej wystąpień (nie, jakby się mogło wydawać, dowolny znak; dowolny znak to kropka). Tak więc w powyższe w skrócie oznacza: ciąg ma się zaczynać od nawiasu, potem ma być zero lub więcej nawiasów, a potem mają być dwa nawiasy zamykające, a potem cokolwiek lub nic ![]() Na marginesie, nawiasy: "{" i "}" są w pewnych przypadkach znakami specjalnymi, więc dla pewności poprzedzałbym je backslashem, ale w powyższym (i poniższym) przypadku akurat nie jest to konieczne. Poprawnie powinno być: Czyli: ciąg zaczyna się od czegokolwiek (brak "^"), potem mają być dwa nawiasy "\{\{", potem spacja (w Twoim przykładowym stringu słwo "test" poprzedzone jest spacją - "\s"), potem ma być dowolny znak co najmniej raz powtórzony (".+"), potem ma być spacja, potem dwa nawiasy zamykające "\}\}", a potem cokolwiek, lub nic (brak "$"). Ten post edytował vonski 11.10.2013, 01:43:16 -------------------- Zend Certified Engineer | Microsoft Certified Professional: Programming in HTML5 with JavaScript & CSS3 | Blog
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 09:05 |