![]() |
![]() |
-nieznany- |
![]()
Post
#1
|
Goście ![]() |
Potrzebuję wyrażenia regularnego które znajdzie mi wszystkie znaki, aż do wystąpienia jakiegoś ciągu znaków.
Przykład --WP dfsdfs df -sd sf sd --WP powinno wyłapac dfsdfs dfsdfs df -sd sf sd Kompinowałem z [^--WP]* ale to zatrzymuje się po znalezieni któregokolwiek ze znakó --WP |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
ech... przenoszę na php
![]() edit: na php poczatkujacy, gdyz tam goscie mogą postować -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
-------------------- |
|
|
-Guest- |
![]()
Post
#4
|
Goście ![]() |
Dzięki za pomoc, ale jest jeszcze mały problem.
Jeśli twoje znaki --AB zamienię na --WP to nie wyłapie mi wszystkiego. Powinno wyłapać dfsdfs df -sd sf sd asdas asd asd cxad a wyłapuje tylko dfsdfs df -sd sf sd asd cxad gubjąc asdas asd |
|
|
![]()
Post
#5
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
No i w czym problem? Pomyśleć trochę
![]() Zamień:
Na:
-------------------- |
|
|
-Guest- |
![]()
Post
#6
|
Goście ![]() |
Cytat(crash @ 2006-02-17 17:29:32) No i w czym problem? Pomyśleć trochę ![]() Zamień:
Na:
Oj chyba nie bardzo. Problem tkwi w tym, że twoje wyrażenie regularne wuszukuje wszystkie wystapienia danego ciągu ( i tak powinno być), ale po wyszukaniu pierwszego ciągu czyli --WP dfsdfs df -sd sf sd --WP dalej pozostaje do wyszukiwania ciąg asdas asd --WP asd cxad --WP asd'; i z tego ciągu wyłapiemy kolejne wystąpienie --WP asd cxad --WP a co się dzieję z asdas asd nie znajduje tego bo na początku już nie ma --WP, a jest tylko asdas asd --WP asd cxad --WP asd'; |
|
|
![]()
Post
#7
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
Naprawdę już nie rozumiem co piszesz
![]()
Co w wyniku daje: Kod Array
( [WP] => Array ( [0] => dfsdfs df -sd sf sd [1] => asd cxad ) ) -------------------- |
|
|
-Guest- |
![]()
Post
#8
|
Goście ![]() |
Właśnie a powinno być
Array ( [WP] => Array ( [0] => dfsdfs df -sd sf sd [1] => asdas asd [2] => asd cxad ) ) |
|
|
![]()
Post
#9
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 196 Pomógł: 2 Dołączył: 17.01.2004 Skąd: Sosnowiec Ostrzeżenie: (0%) ![]() ![]() |
No żeby taki był wynik to tekst musiałby wyglądać tak:
Kod abc --WP dfsdfs df -sd sf sd --WP --WP asdas asd --WP --WP asd cxad --WP asd Jak chcesz inaczej to pokombinuj może z:
-- edit: A może to Cię zadowoli:
-------------------- |
|
|
-Guest- |
![]()
Post
#10
|
Goście ![]() |
OK. Dzieki za pomoc ja wykombinowałem coś takiego ( moj kod jest w C#)
Kod string format = Regex.Replace(_MAIL,"\n",""); string t = Regex.Replace(_Boundary,"\\s",""); Regex r = new Regex("--"+_Boundary+"(?<param>.*?)--"+t+"--"); Match match = r.Match(format); string multiparts = match.Result("${param}"); rich.AppendText("||||||||||||||||||||||||||||||||||||||||||||||||||||||\n"); rich.AppendText(multiparts+"\n"); rich.AppendText("||||||||||||||||||||||||||||||||||||||||||||||||||||||\n"); r = new Regex("(.*?)(--"+_Boundary+")?"); MatchCollection mc = r.Matches(multiparts); for (int i = 0; i < mc.Count; i++) { rich.AppendText("||||||||||||||||||||||||||||||||||||||||||||||||||||||\n"); rich.AppendText(mc[i].Value+"\n"); rich.AppendText("||||||||||||||||||||||||||||||||||||||||||||||||||||||\n"); } Przy czym napis wygląda tak: --WP dfsdfs df -sd sf sd --WP asdas asd --WP asd cxad --WP-- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 18:42 |