Post
#1
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
Mam taki ciąg
Kod START bla bla bla END inneblabla inneblabla Chcę zamienić wszystko między START a END na coś innego, włącznie ze START i END. No to piszemy proste wyrażenie:
W rezultacie otrzymamy: Kod #zamienione# inneblabla inneblabla Proste. Sprawa się komplikuje, gdy pomiędzy START i END włożym podSTART i pod END Kod START bla bla bla START blablaW END bla3 END inneblabla inneblabla W wyniku naszego wyrażenia otrzymamy Kod #zamienione# bla3 END inneblabla inneblabla A powinniśmy otrzymać to samo co w pierwszym przypadku. No to powiecie: zamien .*? na .* i po sprawie. No nie do końca, bo jest jeszcze jeden przypadek, ze START i END pojawi nam się też rownożędnie do pierwszego, czyli np: Kod START bla bla bla START blablaW END bla3 END inneblabla START ccc xxx END inneblabla Zrobie .* da nam Kod #zamienione# inneblabla a mi chodzi, by uzyskac Kod #zamienione# inneblabla START ccc xxx END inneblabla Podsumowując: ma być zamienione tylko pierwsze główne START END, nawet jeśli ma w sobie inne START END, ale nie można już ruszych późniejszych START END Idzie to zrobić wyrażeniem regularnym? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Moderatorzy Postów: 36 561 Pomógł: 6315 Dołączył: 27.12.2004 |
To ja wiem, pytam sie ciebie czy twoj ostatni post to pytanie czy stwierdzenie (IMG:style_emoticons/default/smile.gif)
Bo jak przejrzysz kody to zauwazysz, ze uzywam leniwego wybierania znaków wiec nie rozumiem sensu twojego zdania Cytat Nie możesz się posługiwać operatorami kontrolującymi chciwość np (?) Wiec sie pytam czy to pytanie czy to stwierdzenie (IMG:style_emoticons/default/smile.gif)
|
|
|
|
nospor wyrażenie regularne 28.09.2010, 07:57:31
kreciko Musisz w środku tego wyrażenia dodać bardzo podobn... 28.09.2010, 08:18:58
nospor Juz myslalem ze bedzie dobrze ale nie
[PHP] pobier... 28.09.2010, 08:25:06
kreciko [PHP] pobierz, plaintext $text2 = preg_replace... 28.09.2010, 09:06:58
nospor kreciko ale wowczas łyknie też tego ostatniego END... 28.09.2010, 09:08:07
wookieb preg_replace_callback i trochę rekurencyjnych wywo... 28.09.2010, 09:08:45 
kreciko Cytat(wookieb @ 28.09.2010, 10:08:45 ... 28.09.2010, 09:33:09
nospor CytatNie możesz się posługiwać operatorami kontrol... 28.09.2010, 09:12:44
wookieb "?" to operator leniwego wybierania znak... 28.09.2010, 09:14:24
wookieb Stwierdzenie, że nie możesz go używać 28.09.2010, 09:19:56
nospor why, wookieb why? 28.09.2010, 09:24:26
wookieb Dobra może powiedz mi po co chcesz to zrobić? Wies... 28.09.2010, 09:30:20
nospor CytatDobra może powiedz mi po co chcesz to zrobić?... 28.09.2010, 09:33:16
wookieb Cytat(nospor @ 28.09.2010, 10:33:16 )... 28.09.2010, 09:35:29
nospor Taką jak opisałem.
Obszedłem to troszke i mam roz... 28.09.2010, 09:39:55
Noidea @nospor
Twój kod sypnie się, jeśli START END będzi... 28.09.2010, 10:58:07
nospor Cytatwój kod sypnie się, jeśli START END będzie za... 28.09.2010, 11:25:29
Noidea Ogólnie to:
1: Dopasuj START
2: Najpierw spróbuj d... 28.09.2010, 11:25:42
nospor CytatNo ty w swoich kwiatkach też masz wyrażenia r... 28.09.2010, 11:36:10
Methestel Chcesz robić walidacja poprawności tekstu (czy lic... 28.09.2010, 14:15:09
nospor Nie wiem jak bardzo trzeba po chinsku czytac by do... 28.09.2010, 18:49:23
Methestel Nie doszedłem do takiego wniosku tylko zapytałem c... 28.09.2010, 20:01:39
nospor CytatPrzepraszam, że chciałem podzielić się doświa... 28.09.2010, 20:08:18
Methestel Nie będe 28.09.2010, 20:09:52 ![]() ![]() |
|
Aktualny czas: 28.12.2025 - 18:52 |