|
|
someoneelse: spróbuj \((\d{1,3}) - to Ci wyciągnie jednak
liczby z zakresu 0-999 - no ale to możesz już sobie parsować za pomocą
kodu jakiegoś.. |
|
Regxp mnie przerasta :/ Potrzebuje z ciagu wyciagnac liczbe (od 0 po
500) która znajduje sie zaraz po nawiasie.np:
to jest 3 test z 12 (121 prob)
i jak z tego wyciagnac ilosc prob ? \([0-9]* wyciaga mi liczbe razem z
nawiasem. dzieki za pomoc |
|
Edytowanie własnych komentarzy też by się przydało
- zapytania typu (?P<cos> , (:> warunek) nie przechodzą bo
wyrzucasz te nawiasy. |
|
Moje propozycje:
- zapytania typu (?P<cos> , (:< warunek) nie
przechodzą bo wyrzucasz te nawiasy.
- możliwość ustawiania opcji wyszukiwania np: /zapytanie/s |
|
| Gratuluję strony i tematyki!!! |
|
No to mamy kilka nowych funkcjonalności - według życzeń 
- Możliwość wprowadzania wieloliniowych stringów (pamiętajcie,
że pod Windowsem znakiem końca linii jest rn)
- Możliwość wyświetlania sprawdzeń dokonanych tylko przez nas
(maximum 50 w liście)
- Kilka drobnych usprawnień niewidocznych dla użytkownika
Mam nadzieję, że Wam się to przyda - oczywiście czekam na komentarze

|
|
Fajnym usprawnieniem byłaby możliwość sprawdzania wyrażeń
wieloliniowych |
|
Witam. Mam tekst dajmy na to: "AA dfs
<FNC>srodtytul("dlatego to wszystko" </FNC>
dfsd". Chce zastąpić zawartość znaczników <FNC></FNC>
na wartość funkcji, która znajduje się pomiędzy nimi. Wszystko działa
dobrze, dopóki nie pojawia się funkcja z atrybutem w cudzysłowiu,
czyli dla np "hr()" wszystko jest ok.
Wyrażenie: $body =
preg_replace('/<FNC>(.*?)</FNC>/e','\1',$body);
Błąd, który wyskakuje:
Warning: Unexpected character in input: '' (ASCII=92) state=1 in
D:WWWtrajektoriaindex.php(29) : regexp code on line 1
Parse error: syntax error, unexpected $end in
D:WWWtrajektoriaindex.php(29) : regexp code on line 1
Fatal error: preg_replace() [function.preg-replace]: Failed evaluating
code: srodtytul("dlatego to wszystko" in
D:WWWtrajektoriaindex.php on line 29
ps. W oryginalnym tekscie nie ma backslashów. |
|
dzięki - jak widze nie ma prostszej drogi  |
|
A jeśli koniecznie potrzebujesz sprawdzenia tego za pomocą wyrażenia
regularnego to użyj: (?=b(d|/){20}b)bd+/d+b - a potem RTFM:
href=http://www.regular-expressions.info/lookaround2.html
rel=nofollow>http://www.regular-expressions.info/lookaround2.html |
|
Proponuję ^(d)+(/){1}(d)+$ - a długość ciągu sprawdź sobie już
nie na poziomie kodu a nie wyrażenia regularnego. |
|
Cześć <^d{1,20}(/d{1,18})?$ > - nie potrafie ograniczyc
calego tego ciagu do 20 znaków. Ma ktos jakis pomysł ? 20 cyferek z
jednym ukosnikiem w srodku |
|
kaziuuu: zobacz sprawdzenia z ID 32123 i 32124. Czyli
jakistekst$
I poczytaj dokumentację - to jedno z bardziej podstawowych wyrażeń
regularnych.
|
|
Jak sprawdzić czy ciąg znaków ma na końcu jakiś tekst np
"jakistekst"? |
|
Hej. Czy kotś mi może pomóc. Mam problem z regexp który opisałem tu na
forum http://forum.php.pl/RegExp-t68873.html Odpisać możecie tutaj.
bardzo proszę o pomoc |
|
| O.K. już mam ale jak by ktoś chciał to prosze /([^/]*)$ |
|
Witam potrzebuje wyczyścić linki od ostatnigo slasha do końca i nic mi
nie pasuje czy może mi ktoś podpowiedzieć jakie wyrażenie by to
zalatwiało ? |
|
dzięki docent, tego mi było trzeba  |
|
Mati: do wyrażenia <[@%+].+> pasują ciągi:
<@test>
<%test>
<+test>
natomiast nie pasują:
<#test>
itd.. Backslash (lub jak kto woli - wtyłciach) poprzedzający znaki <
oraz > oznacza, iż mają one nie być parsowane jako składnia wyrażenia
regularnego, czyli bierzemy je jakimi są. Dalej: .+ oznacza dowolny
znak (kropka) powtórzony co najmniej raz - czyli po prostu dowolny
znak (ale jednak musi jakiś być). A dalej już został nawias kwadratowy
a w nim znaki @%+ - oznacza to jeden ze znaków w kwadratowym nawiasie.
Mniej więcej 
A reszta.. linki na tej stronie Cię zaprowadzą do manuali odpowiednich
 |
|
Właśnie siedzę nad pewnym wyrażeniem regularnym i za nic nie mogę go
rozwiązać. Do tej pory nie miałem styczności z wyrażeniami
regularnymi, więc czy ktoś mógłby mi podać rozwiązanie tego?
<[@%+].+> |
|
| pomylilem się e-nauk =e-mail |
|
Chodźby 23365 ale wystarczy również wpisać coś zgodne z
(.*?)"> i już się rozjeżdza.
Jak się w komentarzach najedzie na e-nauk to ma sie taki dziwny
adres:http://maciek.lasyk.info/mailto%22dsds@tlen.pl%22
zamiast mailto:dsds@tlen.pl |
|
Michal2000: hmm od początku tak jest właśnie - treść przesyłana
przez użytkowników nie jest parsowana a ew.kod HTML jest zamieniamy na
owe 'krzaki' Jeśli coś jednak znalazłeś to spróbuj jeszcze raz
wrzucić i napisz mi ID wyrażenia, w którym występuje coś, czego być
nie powinno  |
|
Proponuję w formularzu również zablokować ponieważ np.ja często
wpisuję kod html i mi poprostu formularze się rozjeżdzają i musze
kliknąć wstecz. |
|
dodaj jakies funkcje, ktore by zmieniali znaki <>"' na ich
"krzaczkowe" odpowiedniki, bo potem przy wyswieltaniu wyniku
strona sie rozjerdza |
|
PQS: dzięki za spostrzeżenie. Faktycznie ten przypadek przeoczyłem -
jednak już poprawiłem  |
|
Dlaczego dla ciągu składającego się z samego 0 (zera) skrypt nie
działa poprawnie! |
|
pandres:
Mogę zaproponować co najmniej dwa rozwiązania:
1. Wykorzystujące nawiasy okrągłe:
(?s){petla:zmienna .*?):}
Poszukiwany tekst złapię się jako pierwsze dopasowanie zawartości
nawiasów.
2. Wykorzystujące przeglądanie wstecz i z wyprzedzeniem:
(?s)(?<={petla:zmienna .*?(?=:})
Teraz całe wyrażenie dopasuje się do poszukiwanego tekstu.
Program znajdujący się na tej stronie zdaje się nie obsługiwać
poprawnie napisanych przeze mnie wyrażeń. Sprawdziłem je jednak za
pomocą innej aplikacji i działają w porządku.
Pozdrawiam, i życzę sukcesów  |
|
<center>
<?
$wyrazenie = stripslashes($wyrazenie);
?>
<form action="" method=GET>
<table>
<tr>
<td>Wyrażenie: </td>
<td><input type=text name=wyrazenie value='<?echo
$wyrazenie; ?>'></td>
</tr>
<tr>
<td>Tekst: </td>
<td><input type=text name=text value="<?echo $text;
?>"></td>
</tr>
<tr>
<td></td>
<td><input type=submit value=sprawdź></td>
</tr>
</table>
</form>
<?
if (@preg_match("/".$wyrazenie."/", $text)) {
echo "OK";
} else {
echo "ŹLE";
}
?>
PRZEDSTAWIAM WAM SKRYPT KTORYM U SIEBIE MOZECIE SPRAWDZAC POPRAWNOSC
WYRAZEN  |
|
Mam tak string
"<table>{petla:zmienna:<tr>
<td>{img}</td>
<td>{recenzja}</td>
<td>{data}</td>
</tr>:}</table>"
i potrzebuje zrobić takie wyrażenie żeby znalało mi to co się znajduję
pomiędzy "{petla:zmienna:" a ":}", dodam tylko że
to się zmienia i nie zawsze jest takie same.
|
|
Regular expression: [[0-9]:[0-9]{3}:[0-9]{2}]
String: [2:234:43]
Result: TRUE
Dla pana apache |
|
Regular expression: ^[0-9]{2}:[^a-zA-Z]{2} <[@%+].+>
((:?(:?(:?ss){3,}ij)|(:?ci{5,}ag)))[abc]{[^a-zA-Z0-57-9]}.$
String: 12:12 <@ > (ssssssij)[abc]{6}.
Result: TRUE
Proszę bardzo panie matoł |
|
matoł:
Pasuje chociażby 00:00 <@a> (ciiiiiag)[abc]{6}.
Warto pamiętać, że wyrażenie typu ci{5,} mówi o wystąpieniu literki
'c', a potem conajmniej pięciu powtórzeniach literki 'i'. Ciąg
'cicicicici' będzie pasował, gdy w wyrażeniu umieścimy nawiasy w ten
sposób (ci){5,}. Poza tym zdaje się, że zapomniałeś o jednej spacji,
która jest w wyrażeniu. |
|
mam takie pytanie, czy ktoś mógł by mi powiedzieć, jaki ciąg będzie
pasował do takiego wyrażenia:
^[0-9]{2}:[^a-zA-Z]{2} <[@%+].+>
((:?(:?(:?ss){3,}ij)|(:?ci{5,}ag)))[abc]{[^a-zA-Z0-57-9]}.$
ja podawałem taki:
12:12<@a>(:ciciciciciciag)[abc]{6}.
i jeszcze kilka innych bardzo podobnych do tego wyżej, i zawsze miałem
false :/ czy ktoś moze mi powiedzieć, gdzie mam błąd ? aha, i moze
błędem są te spacje w wyrażeniu?
bardzo proszę o pomoc, bo jest mi to bardzo potrzebne ;p
pozdrawiam matoł |
|
Hej
moglby mi ktos pomoc jak dopasowac w wzorzec do takiej postaci
[2:260:10] a do okola inne teksty rozchodzi sie o to zeby wyciagnac z
tekstu wszystkie stringi tej postaci [x:xxx:x] razem z []. umiem to
napisac w notacji posix ale w tej perolowej nie...
prosze o pomoc |
|
to chyba nie o takie wyrażenia regularne chodzi jak myślałem... :/
takie jak np tu:
http://www.ii.uj.edu.pl/~zaionc/STUDENCI/IS2005/egzASD_IS2005.pdf
zad np 2. |
|
Jeż: bardzo proszę  |
|
ałtomatycznie  |
|
Proponuję aby wyrażnie regulane i sprawdzane było ałtomatyczne
uzupełniane w formularzu na stronie która się pokazuje po naciśnięciu
przycisku sprawdz.
Nie trza by wtedy się cofać lub wpisywać wszystkiego od nowa.
A tak ogólnie fajny skrypt bradzo użyteczny  |
|
A myślałem, że regexpy wreszcie się do czegoś przydadzą - a tu się
okazuje, że zwykłe funkcje php znów wystarczają 
Dzięki i pozdrawiam |
|
Ok nie ma sensu tutaj bawić się regexpami - szkoda procka do tego.
Służą do tego zupełnie inne funkcje, wbudowane w PHP Nazywają się
strpos()
oraz
rel=nofollow>substr().
Chcąc wyciągnąć 'dowolny tekst1' i znając formę ograniczników, czyli
znając $a1 oraz $a2 robimy to dokładnie tak:
$a1 = '::';
$a2 = '---';
$string = 'dowolny tekst0' .$a1 . 'dowolny tekst1' . $a2 . 'dowolny
tekst2' . $a2;
$pos_start = strpos($string,$a1) + strlen($a1);
$pos_end = strpos($string,$a2);
$length = $pos_end - $pos_start;
$twoj_tekst = substr($string,$pos_start,$length);
echo $twoj_tekst;
?>
Polecam grupę dyskusyjną pl-comp-lang-php (informacje na jej temat
znajdziesz
target=_blank>tutaj Ponadto możesz też zasięgać języka dot.PHP
na
target=_blank>forum.php.pl  |
|
To 'a1' i 'ble ble' to tylko przyładowe. Chodzi o to że tekst jest
postaci (php):
$string = "dowony tekst0" .$a1 . "dowolny tekst1 "
. $a2 . "dowolny tekst2" . $a2
Chodzi mi o wyodrębnienie pierwszego, dowolnego tekstu. Zrobiłem to w
taki sposób:
$cs = explode($a1, $string);
$c = $cs[1];
$cs = explode($a2, $c);
$c = $cs[0];
I zastanawiam się, czy nie dałoby się tego zapisać za pomocą wyrażeń
regularnych...
|
|
Jeśli konkretnie taki ciąg to najprościej:
$string = 'a1 ble ble ble a2 ble ble a2';
$regexp = "/(b[^a]+b){3}/";
preg_match($regexp,$string,$matches);
print_r($matches);
?>
Jeśli nie o to chodzi to postaraj się jakoś skonkretyzować - napisz
czy lliczba powtórzeń stringa jest z góry okreslona, czy też nie,
(czyli czy zawsze chodzi o 'ble ble ble' czy też może być jednak
czasem 'ble ble' a innym razem jedno 'ble' by znów później pojawiło
się 6 razy 'ble ble ble ble ble ble' 
Ponadto napisz jaki jezyk programowania No i daj znać jeszcze czy
to co napisałeś - czyli pierwsze - oznacza, iż w przykładowym
ciągu a ble ble ble a d f e r ble ble ble fg fd d
interesuję Cię jedynie to pierwsze ble ble ble czy też obydwa. |
|
Dziękuję za odpowiedź. Niestety mało dotychczas pracowałem w
wyrażeniach regularnych i nie do końca mi ona wystarcza 
Sprecyzuję ciąg: "a1 ble ble ble a2 ble ble a2", chciałbym
wyciągnąc z niego pierwsze 'ble ble ble'. Jakiego wyrażenia powiniem
użyć? |
|
Jeśli mowa o PHP to preg_match() załatwia sprawę doskonale:
<?
$string = 'a ble1 a ble2 a';
$regexp = "/b[^a]+b/";
preg_match($regexp,$string,$matches);
print_r($matches);
?> |
|
Mam pytanie. Jest string: "a ble1 a ble2 a", chciałbym z
niego wyciągnąć "ble1" (ble1 i ble2 to dowolne ciągi znaków
nie zawierające 'a'). gdy daję regex "a(.*)a on zawsze zwraca
długi ciąg 'ble1 a ble2' zamiast samego ble1... jak zrobić aby zwracał
samo 'ble1'? |
|
Proszę bardzo - wrzuciłem w automat (ID: 389,390)- wyciągnij je sobie

A na przyszłość - poniżej zamieściłem linki do tutoriali i manuali -
bardzo polecam
href=http://www.regular-expressions.info/tutorial.html
target=_blank>http://www.regular-expressions.info/tutorial.html a
w szczególności - Twój problem jest rozwiązany tutaj:
href=http://www.regular-expressions.info/completelines.html
target=_blank>http://www.regular-expressions.info/completelines.html
a> opisany jako "Finding Lines Containing or Not Containing Certain
Words". |
|
dobra, a powiedz mi, jak najkrócej będzie wyglądać wyrażenie
sprawdzające, że w ciągu występuje przynajmniej jedna cyfra,
przynajmniej jedna litera i przynajmniej jeden znak specjalny np.
11Q@aa - dobrze , 12121@ - źle |
|
Dodałem pobsługę sprawdzania wulgaryzmów w przeprowadzanych
wyszukiwaniach - zdarzyło się komuś użyc kilku wyrazów, które
niekoniecznie ładnie wyglądają 
Oczywiście można przeprowadzać sprawdzenia przy użyciu wulgaryzmów -
jednak nie zostają one wyświetlane na liście ostatnio dokonanych
sprawdzeń. |
|
Poprawiłem kilka błędów w wyświetlaniu sprawdzanych regexpów. Ponadto
dodałem możliwość komentowania zawartości tej strony - dzięki temu
możecie pisać co chcielibyście tutaj zmienić, czego tu brakuje etc  |
|