Бесплатно напишу регулярное выражение. Часть 2.

Kostass

Client
Joined
Dec 20, 2010
Messages
144
Reaction score
9
Points
18
ребята, нет времени читать всю тему, быстрый поиск не помог, задача банальная
есть строка текста, в ней нада заменить все символы и пробелы кроме a-z а-я и 0-9 на знак подчеркивания.
Заранее огромнейшее спасибо. :-)
 

Kostass

Client
Joined
Dec 20, 2010
Messages
144
Reaction score
9
Points
18
Ну собственно вот: \W
заменяет только первый символ, а как все заменить ?
 

ZennoScript

Moderator
Joined
Mar 4, 2011
Messages
4,452
Reaction score
1,888
Points
113
заменяет только первый символ, а как все заменить ?
Ну так в экшене замены необходимо установить заменять Все, а не только первое, как стоит по умолчанию.
 
  • Thank you
Reactions: Kostass

finista

Client
Joined
Oct 10, 2012
Messages
365
Reaction score
57
Points
28
Как правильно написать регулярное выражение - которое будет искать совпадение с условием или или т.е. Ярославль или Кострома
 

ZennoScript

Moderator
Joined
Mar 4, 2011
Messages
4,452
Reaction score
1,888
Points
113

finista

Client
Joined
Oct 10, 2012
Messages
365
Reaction score
57
Points
28
Спасибо
 

finista

Client
Joined
Oct 10, 2012
Messages
365
Reaction score
57
Points
28
Не ругайте сильно вот еще вопрос - как мне вырезать из Ольга Ярославская - только имя?
 

ZennoScript

Moderator
Joined
Mar 4, 2011
Messages
4,452
Reaction score
1,888
Points
113

Vital

Client
Joined
Jan 28, 2013
Messages
205
Reaction score
6
Points
18
Есть
<div class="ddText"><label for="1fcdc2dde43b6bb0cf3f4370259a2580cc861915">Сколько месяцев в году (ответ цифрой)</label></div>

Нужно - Сколько месяцев в году (ответ цифрой)
 

rostonix

Известная личность
Joined
Dec 23, 2011
Messages
29,067
Reaction score
5,719
Points
113
Есть
<div class="ddText"><label for="1fcdc2dde43b6bb0cf3f4370259a2580cc861915">Сколько месяцев в году (ответ цифрой)</label></div>

Нужно - Сколько месяцев в году (ответ цифрой)
(?<=<label\ for=.*?>).*(?=</label>)
 

rostonix

Известная личность
Joined
Dec 23, 2011
Messages
29,067
Reaction score
5,719
Points
113
Есть
<div class="ddText"><label for="1fcdc2dde43b6bb0cf3f4370259a2580cc861915">Сколько месяцев в году (ответ цифрой)</label></div>

Нужно - Сколько месяцев в году (ответ цифрой)
(?<=<label\ for=.*?>).*(?=</label>)
 

Kostass

Client
Joined
Dec 20, 2010
Messages
144
Reaction score
9
Points
18
ребята, есть пробелы и табуляция в тексте, как от них избавится ?
 

rostonix

Известная личность
Joined
Dec 23, 2011
Messages
29,067
Reaction score
5,719
Points
113
Если по краям текста - операции с текстом - trim
Если внутри , то через замену. Заменить на пустоту.
 
  • Thank you
Reactions: Kostass

Kostass

Client
Joined
Dec 20, 2010
Messages
144
Reaction score
9
Points
18

ZennoScript

Moderator
Joined
Mar 4, 2011
Messages
4,452
Reaction score
1,888
Points
113

Vital

Client
Joined
Jan 28, 2013
Messages
205
Reaction score
6
Points
18
Неподскажите регулярное выражение для ссылок и для е-мейлов.
 

ZennoScript

Moderator
Joined
Mar 4, 2011
Messages
4,452
Reaction score
1,888
Points
113
(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&amp;:/~\+#]*[\w\-\@?^=%&amp;/~\+#])? вот для ссылок.
[\.\-_A-Za-z0-9]+?@[\.\-A-Za-z0-9]+?[\.A-Za-z0-9]{2,} вот для мэйлов
 
  • Thank you
Reactions: Vital

www

Client
Joined
Feb 9, 2012
Messages
49
Reaction score
8
Points
8

ZennoScript

Moderator
Joined
Mar 4, 2011
Messages
4,452
Reaction score
1,888
Points
113
Нужно каждое значение брать отдельной регуляркой. Можно конечно взять всё это одной и потом через замену удалить всё лишнее, но удобнее будет просто сделать 3 регулярки под каждое значение.
 
  • Thank you
Reactions: www

www

Client
Joined
Feb 9, 2012
Messages
49
Reaction score
8
Points
8
жаль, думал будет все так просто )
 

bad robot

Client
Joined
Mar 7, 2011
Messages
209
Reaction score
56
Points
28
А можно какую-нибудь хорошую регулярку под сниппеты гугла? Чтоб на выходе текст без дат (в разных форматах), тегов, троеточий, дефисов и т.п.
Сейчас паршу DOM этим (?<=<span\ class="st">)[\w\W]*?(?=</span>), а потом многократно заменяю ненужности на пустое место. Довольно геморно.
 

ZennoScript

Moderator
Joined
Mar 4, 2011
Messages
4,452
Reaction score
1,888
Points
113
А можно какую-нибудь хорошую регулярку под сниппеты гугла? Чтоб на выходе текст без дат (в разных форматах), тегов, троеточий, дефисов и т.п.
Сейчас паршу DOM этим (?<=<span\ class="st">)[\w\W]*?(?=</span>), а потом многократно заменяю ненужности на пустое место. Довольно геморно.
Можно в одном месте всё удалить. Просто прописываете перечень данных, которые нужно удалить. (1|2|3) Между | вставляете свои регулярки, которые должны удалить лишний текст и в замене устанавливаете что заменять "Всё".
 
  • Thank you
Reactions: bad robot

Lollipop

Client
Joined
Sep 6, 2012
Messages
271
Reaction score
29
Points
28
Что то не получается заставить работать символ начала строки ^
приходится брать так: \r\n1234567890.* (парсю массив строк из файла)
а хотелось бы ^1234567890.* - но в результате пустота
 

Porosenok

Client
Joined
Sep 26, 2010
Messages
1,281
Reaction score
96
Points
48
Ребят, помогите с регуляркой
Есть текст разделенный ;
текст1;текст2;текст3
как спарсить в 4 зенно только текст3? Всяко пробовал, у меня только парсится текст2;текст3

заранее спасибо
 

ZennoScript

Moderator
Joined
Mar 4, 2011
Messages
4,452
Reaction score
1,888
Points
113
Ребят, помогите с регуляркой
Есть текст разделенный ;
текст1;текст2;текст3
как спарсить в 4 зенно только текст3? Всяко пробовал, у меня только парсится текст2;текст3

заранее спасибо
(?<=;.*?;-).*
так пробуйте
 

Porosenok

Client
Joined
Sep 26, 2010
Messages
1,281
Reaction score
96
Points
48
не работает, наверное потому что часть регулярки ушло в смайл :-)
 

rostonix

Известная личность
Joined
Dec 23, 2011
Messages
29,067
Reaction score
5,719
Points
113
Code:
(?<=;.*?;).*
 
  • Thank you
Reactions: Porosenok

Vital

Client
Joined
Jan 28, 2013
Messages
205
Reaction score
6
Points
18
[\.\-_A-Za-z0-9]+?@[\.\-A-Za-z0-9]+?[\.A-Za-z0-9]{2,} вот для мэйлов
Кстати почта вида info@mail-mail.ru определяется как info@mail , как оккоректировать выражение?
 

rostonix

Известная личность
Joined
Dec 23, 2011
Messages
29,067
Reaction score
5,719
Points
113
Кстати почта вида info@mail-mail.ru определяется как info@mail , как оккоректировать выражение?
Code:
[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})
 
  • Thank you
Reactions: Vital

Users Who Are Viewing This Thread (Total: 2, Members: 0, Guests: 2)