Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   регулярка (https://forum.antichat.xyz/showthread.php?t=101616)

попугай 17.01.2009 00:59

регулярка
 
есть в тексте такие строки - (23423), (345), (535656) и тд...
то есть в скобках число, разные знаки...

Нужна регулярка, чтоб заменять это...

пробовал так preg_replace("|\(\d\)|", "", $text); - не работает...

а так - preg_replace("|(\d)|", "", $text); удаляется только цифры, а скобки остаются...

Что делать?

m0nsieur 17.01.2009 01:05

'/[0-9()]+/'
так не пойдет?

попугай 17.01.2009 01:07

Ого, работает...
А можешь расшифровать? почему скобки вконце стоят?

m0nsieur 17.01.2009 01:13

Да все просто, [] - пишу чего искать и перечисляю, что искать
[)0-9(] можно хоть так написать, не важно где их поставить, главное чтобы они указаны были))) а ты указывал в конструкции (\d) - значит запомнить все числа, то что ты скобки таким образом указал - не значит что цифры искать в скобках будут, это зарезервированное обозначение в регулярках (как-то так...хреново я объяснять умею)

iron-viper 17.01.2009 01:14

Цитата:

Сообщение от попугай
Ого, работает...
А можешь расшифровать? почему скобки вконце стоят?

В квадратных скобках перечислены символы которые должны попадать под шаблон а это : цифры от 0 до 9 и скобки "()"

Pashkela 17.01.2009 01:18

http://forum.antichat.ru/thread92492.html

[dei] 17.01.2009 11:04

Цитата:

Сообщение от попугай
есть в тексте такие строки - (23423), (345), (535656) и тд...
то есть в скобках число, разные знаки...

Нужна регулярка, чтоб заменять это...

пробовал так preg_replace("|\(\d\)|", "", $text); - не работает...

а так - preg_replace("|(\d)|", "", $text); удаляется только цифры, а скобки остаются...

Что делать?

|\(\d\)|
тут ты правильно мыслил, только \d отвечает за одну цифру, нужно добавить еще символ повторения +
|\(\d+\)|

Ru}{eeZ 17.01.2009 12:29

Цитата:

Сообщение от m0nsieur
'/[0-9()]+/'
так не пойдет?

так будет искать и числа, и скобки, а не числа в скобках

m0nsieur 17.01.2009 12:37

Цитата:

Сообщение от Ru}{eeZ
так будет искать и числа, и скобки, а не числа в скобках

согласен, тогда так - '/\\(\\d+\\)/'

D Mak 17.01.2009 16:37

Цитата:

согласен, тогда так - '/\\(\\d+\\)/'
зачем \\?
у [dei] все ок


Время: 21:37