|   |  |   | 
  
|  | жадное регулярное выражение, найти строку до первого знака | ☑ | 
    
        | 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     |  | 
        Ошибка? Это не ошибка, это системная функция.