|
жадное регулярное выражение, найти строку до первого знака
| ☑ |
0
vde69
17.11.22
✎
16:58
|
помогите с регуляркой, нужно найти строку до знака "-"
пример
данные: 121-2ук ц2
регулярка: '.*-'
возвращает 121- что верно
но если в данных два знака -
данные: 121-2ук-ц2
то вернет 121-2ук- а мне нужно только 121-
|
|
1
Timon1405
17.11.22
✎
17:31
|
.*?-
с флагом global = false
или
[^-]+-
|
|
2
Fragster
гуру
17.11.22
✎
17:48
|
вся наша жизнь - борьба жадности с ленью
|
|
3
Fragster
гуру
17.11.22
✎
17:49
|
|
|
4
Kassern
17.11.22
✎
17:54
|
(0) А зачем тут регулярка? Можно ведь проще типа Лев(СтрокаСДанными,СтрНайти(СтрокаСДанными,"-")-1)
|
|
5
Kassern
17.11.22
✎
17:57
|
Ну или СтрРазделить(СтрокаСДанными,"-")[0] Только проверить нужно, что разделитель/строка поиска есть в строке
|
|
6
vde69
17.11.22
✎
19:39
|
(4) мне не в 1с
(2) я еще до сабжа пробовал ленивицу включить, но не вышло
(1) вышло так
grep -P -o '.*\d-' | grep -o '.*[^-]
|
|
7
Timon1405
17.11.22
✎
22:23
|
(6) тогда уж проще
grep -oP ^[^-]+
а у вас сломается на "123-3456-657"
|
|
8
НЕА123
18.11.22
✎
09:56
|
cut -d'-' -f 1
|
|