[Help] Проблема с рег экспами

12
TAFF
На сайте с 28.08.2008
Offline
140
705

Здравствуйте!

Есть кусок текста:

1dfgrрп1uifrtgb1dfgvgsf1kk

Пытаюсь зацепить регуляркой с первого символа 1 до первого найденного:

1dfgrhg1uifrtgb1dfgvgsf1kk

Но цепляется с первого символа 1 и до последнего найденного:

1dfgrрп1uifrtgb1dfgvgsf1kk

Вопрос: Как сделать так чтобы цепляло c первого найденного символа?

Ps: Юзаю правило 1+.*1

✓ Администрирование (/ru/forum/494299) | ✓ Домены (/ru/forum/298049) | ✓ Продажа аккаунтов narod.ru (/ru/forum/585347)
Sinless
На сайте с 22.10.2007
Offline
25
#1

<?

$s = '1dfgrhg1uifrtgb1dfgvgsf1kk';
preg_match('/1(.*)1/U',$s,$m);
print_r($m);
?>

Используйте не жадную выборку. Модификатор U

TAFF
На сайте с 28.08.2008
Offline
140
#2

Sinless, Юзаю Notepad++, есть решение(я) не на PHP?

Так не работает:

1(.*)1/U
NS
На сайте с 30.09.2008
Offline
54
#3

может так?

/1[^1]*1/

T
На сайте с 24.07.2008
Offline
145
#4

1.*?1

вот как-то так :)

TAFF
На сайте с 28.08.2008
Offline
140
#5
nonSmoker:
может так?
/1[^1]*1/
Tempter:
1.*?1
вот как-то так

Оба варианта не работают

S
На сайте с 13.07.2007
Offline
56
#6
TAFF:
Оба варианта не работают

Мож не так юзаете? Вариант 1.*?1 точно рабочий

Sinless
На сайте с 22.10.2007
Offline
25
#7
solnikolay:
Мож не так юзаете? Вариант 1.*?1 точно рабочий

Скачал я notepad++ специально чтобы проверить. Там действительно нет никаких представлений о жадности. Регулярные выражения там базируются на Scintilla, а он кастрированный сильно. http://notepad-plus.sourceforge.net/ru/regExpList.php

ТС, в phpdesigner, например, 1.*?1 сработает.

dvaes
На сайте с 03.09.2007
Offline
65
#8

ну вариант nonSmoker же долэен работать. просто слэши для notepad++ не нужны

1[^1]*1

T
На сайте с 24.07.2008
Offline
145
#9
dvaes:
ну вариант nonSmoker же долэен работать. просто слэши для notepad++ не нужны
1[^1]*1

Этот вариант схавает всё до последнего вхождения "1", т.к. * - жадный :))) учите как там, это, матчасть ))))

TAFF
На сайте с 28.08.2008
Offline
140
#10
dvaes:
ну вариант nonSmoker же долэен работать. просто слэши для notepad++ не нужны
1[^1]*1

Большое спасибо, всё работает 🍻

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий