|
регулярное выражение для распознавания
| ☑ |
0
location
naïve
31.10.22
✎
12:51
|
Добрый день подскажите пож-та как можно сделать правильную регулярку.
сам с регулярными выражениями не очень дружу.
написал для распознавания в назначениях номеров такую регулярку
\b\W?(\d{6})(?!\d) она распознает 6 цифр
№000001 = 000001
#010101# = 010101
$010101 = 010101
но если такая конструкция
010101-020202, то оно распознает и первую 6-ку цифр и втоорую, а необходимо исключить и брать только первую, ну и чтобы старое не сломать, помогите плз.
|
|
1
Кирпич
31.10.22
✎
13:30
|
ну так можно
[^-]\d{6}
|
|
2
Кирпич
31.10.22
✎
13:33
|
или так
(?=[^-])\d{6}
|
|
3
location
naïve
31.10.22
✎
13:42
|
(2) не подходят такие варианты т.к. при номере с буквой, он берет букву. ф000001 = ф000001
плюс такая конструкция захватывает и такие номера 010101020202 = 010101, а такие должно пропускать.
|
|
4
Кирпич
31.10.22
✎
14:03
|
(?<=\D)\d{6}(?=[\D]+)
|
|
5
location
naïve
31.10.22
✎
14:20
|
(4) вот так уже лучше, но берет еще из такого примера 010101-020202 = 010101, 020202
|
|
6
Кирпич
31.10.22
✎
14:25
|
(?<=[^\d-])\d{6}(?=\D)
|
|
7
GANR
31.10.22
✎
14:30
|
|
|
8
location
naïve
31.10.22
✎
14:31
|
(6) спасибо большое, то что надо
|
|
9
Timon1405
31.10.22
✎
16:05
|
если нужно найти первые 6 цифр, то не проще regexp.global = false указать?
|
|
10
kittystark
31.10.22
✎
16:52
|
(6) а что это за конструкция
?<=
|
|
11
Timon1405
31.10.22
✎
17:39
|
|
|