Имя: Пароль:
IT
 
RegExp примеры работы
, ,
0 oleg_km
 
23.09.11
11:57
Никак не могу въехать, как ими пользоваться

Конкретный вопрос, как из строки "выоарыл ыварылвар 789 87ывава"

получить "78987", т.е. нужно выкинуть все символы кроме цифр
1 Fragster
 
гуру
23.09.11
11:57
заменить не цифры на пустоту
2 Fragster
 
гуру
23.09.11
11:58
3 Волшебник
 
23.09.11
11:59
Pattern="[0-9]"
4 cViper
 
23.09.11
12:00
5 Fragster
 
гуру
23.09.11
12:02
(3) ненене, \D - не цифры
6 Волшебник
 
23.09.11
12:02
(5) Ну это смотря с какой стороны посмотреть
7 oleg_km
 
23.09.11
12:09
(4) Книга - это для меня перебор

Спасибо всем, вобщем-то как всегда, главное было начать
8 Fragster
 
гуру
23.09.11
12:11
(6) ну, если искать цифры, то вернет много кусков, а если заменять не цифры, то получится 1 кусок
9 Волшебник
 
23.09.11
12:12
(8) А точки и минусы не оставит?
10 Fragster
 
гуру
23.09.11
12:13
(9) нет
11 detec
 
23.09.11
12:14
Regexp.Pattern = "\d+";
.....

Вернёт в matches коллекцию совпадений, потом их в цикле можно обойти и склеить. Описание библиотеки есть на технете.
12 Kreont
 
23.09.11
12:15
Я регексп тестирую тут:
http://www.regular-expressions.info/vbscriptexample.html
13 Fragster
 
гуру
23.09.11
12:17
(12) блин, не успел доделать немного - сейчас делаю себе такую штуку, ну, и веб сервис, чтобы из 1с без ВК юзать - для серверов на линупсе, например...
14 detec
 
23.09.11
12:18
Я пользуюсь прогой Ultrapico Expresso, требуется бесплатная регистрация.
15 izekia
 
23.09.11
12:23
я пользуюсь регексп бадди
по-моему лучшее из все что есть
16 Kreont
 
23.09.11
12:29
(14) Спс, за линк, уже качаю :)
17 oleg_km
 
23.09.11
12:32
(9)(10) Вы правы, полный шаблолн у меня получился [^0-9.+-]

Единственно, неплохо было бы как-то указать, что +- принимается только которй перед первой цифрой, а . только между цифрами и один раз.
18 Fragster
 
гуру
23.09.11
12:35
(17)
[+-]{0,1}[0-9]+(.[0-9]+) как-то так. но это уже шаблон не для замены, а для поиска
19 Fragster
 
гуру
23.09.11
12:37
[+-]{0,1}[0-9]+(.[0-9]+){0,1}
20 oleg_km
 
23.09.11
12:38
(19) не совсем пошло, но спасибо, ход мысли понял вроде
21 Fragster
 
гуру
23.09.11
12:39
[+\-]{0,1}[0-9]+(\.[0-9]+){0,1}
22 Fragster
 
гуру
23.09.11
12:40
ибо "." - это любой символ :))
23 oleg_km
 
23.09.11
12:51
(21) почти оно. Просто например в строке
"hgfsdf+1234 5+67.89 01dfsdfsf"

ловит оба +, а должен игнорировать второй
24 Fragster
 
гуру
23.09.11
12:59
(23) хз, в обработке из (2) находит вот что:
"+1234"
"5"
"+67.89"
"01"

т.е. все правильно, после второго плюса уже следующее число пошло
25 Armando
 
23.09.11
12:59
26 oleg_km
 
23.09.11
13:05
(24) ну да, просто у меня все это одно число. Мне нужно универсальное преобразование строки в число. Например разные банк-клиенты используют разные разделители порядков. Сегодня попался вообще символ xA0.

Ну ладно. Спасибо, дальше сам поразбираюсь, стало даже интересно
27 oleg_km
 
23.09.11
15:32
А еще подтолкните в нужном направлении.
Есть строка:

"dfsdf,sdfsdf" <[email protected]> , "fsdf,sdfsdf" <[email protected]>

Нужно разделить на отдельные адреса

"dfsdf,sdfsdf" <[email protected]>
"fsdf,sdfsdf" <[email protected]>

Понятно, что тупое разделение по , разбивает адреса.
Как сие реализовать на RegExp?
28 Fragster
 
гуру
23.09.11
15:40
300 рублей
29 trdm
 
23.09.11
15:43
30 izekia
 
04.10.11
16:59
самое простое  "([^"]*)"\s*\<([^\>]*)\>\s*
но это с учетом того, что кавычки не будут встречаться в имени