Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Программирование Новый топик    Ответить
 Помогите с регуляркой  [new]
MMM_Corp
Member

Откуда: Тернопіль, Україна
Сообщений: 2102
Всем привет, возникла необходимость в регулярке которые я крайне редко трогаю...

есть текст, напр.

автор
super text 555-666


нужно получить 555666

гдето близко хожу...

(\b(?!-)\b\d+)

но получается всеравно 2 совпадения, а нужно чтобы было одно, это возможно?

Спасибо!
30 янв 19, 19:46    [21798226]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с регуляркой  [new]
mayton
Member

Откуда: loopback
Сообщений: 39224
Ты можешь выделить группу "555" либо группу "666". Или обе и потом склеить.
30 янв 19, 21:22    [21798291]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с регуляркой  [new]
MMM_Corp
Member

Откуда: Тернопіль, Україна
Сообщений: 2102
склейка к сожалению не подходит по причине легази софта, которому только подавай одно совпадение
регулярка только на числа типа \d тоже не подойдет нужна максимально точная регулярка, которая брала именно этот текст:
начало()super text 3 числа "-" 3 числа(конец)
чтобы получилась одна группа, тоесть
555666

п.с. это для питона, может какието особенности есть. править код нельзя. только регулярку
31 янв 19, 07:20    [21798399]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с регуляркой  [new]
mayton
Member

Откуда: loopback
Сообщений: 39224
Тогда не знаю.
31 янв 19, 11:07    [21798531]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с регуляркой  [new]
MMM_Corp
Member

Откуда: Тернопіль, Україна
Сообщений: 2102
ап
4 фев 19, 08:23    [21801003]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с регуляркой  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 18572
.*(\d{3})-(\d{3})

https://regex101.com/r/lj1vLD/1
4 фев 19, 09:03    [21801019]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с регуляркой  [new]
MMM_Corp
Member

Откуда: Тернопіль, Україна
Сообщений: 2102
Akina,

вроде сработало, большое спасибо!
6 фев 19, 10:41    [21802442]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с регуляркой  [new]
mayton
Member

Откуда: loopback
Сообщений: 39224
А ну видимо "минус" в серединке тоже прокатывал. Я-то думал его нельзя.
6 фев 19, 11:16    [21802479]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с регуляркой  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34417
MMM_Corp
Всем привет, возникла необходимость в регулярке которые я крайне редко трогаю...

есть текст, напр.

автор
super text 555-666


нужно получить 555666

гдето близко хожу...

(\b(?!-)\b\d+)

но получается всеравно 2 совпадения, а нужно чтобы было одно, это возможно?

Спасибо!




^\w+\s+\w+\s+(\d+)-(\d+)$

$1 , $2
7 фев 19, 11:07    [21803318]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с регуляркой  [new]
MasterZiv
Member

Откуда: Питер
Сообщений: 34417
MMM_Corp
склейка к сожалению не подходит по причине легази софта, которому только подавай одно совпадение
регулярка только на числа типа \d тоже не подойдет нужна максимально точная регулярка, которая брала именно этот текст:
начало()super text 3 числа "-" 3 числа(конец)
чтобы получилась одна группа, тоесть
555666

п.с. это для питона, может какието особенности есть. править код нельзя. только регулярку


Невозможно регуляркой с ОДНОЙ выходной группой убрать разделяющий символ '-' между двумя последовательностями цифр.


^\w+\s+\w+\s+(\d+)-(\d+)$

и конкатенация $1 и $2

либо

^\w+\s+\w+\s+(\d+-\d+)$

и $1 , без конкатенации, но там ты получишь И СИМВОЛ ДЕФИСА ТОЖЕ.
7 фев 19, 11:10    [21803320]     Ответить | Цитировать Сообщить модератору
 Re: Помогите с регуляркой  [new]
Roman Mejtes
Member

Откуда: г. Пермь
Сообщений: 3161
имхо, возможно имеет смысл просто получить из строки все числовые символы, отфильтровав всё лишнее и получите своё число, естественно это предполагает, что "цифровые" символы не могут встречаться в области тексте.
комбинируйте подходы, "1 плевком" дела не делаются :D
7 фев 19, 11:31    [21803351]     Ответить | Цитировать Сообщить модератору
Все форумы / Программирование Ответить