[ID CC-CC2022] Нужны GREP

zin_wlad

Участник
Топикстартер
Сообщения
12
Реакции
0
Подскажите выражения GREP с использование No Break
цифры не переносились на следующие строку (Например: 1986 год)
не разрывались единицы измерения (Например: тыс. человек)
 
В качестве максимально простого решения для пары число-слово отлично подходит такой греп (?<=\d) (?=\w). Заменять можно на неразрывный пробел или No Break, неразрывный пробел лучше.
На перспективу нужен другой подход. Например, выражение "Глава 4" разрывать нельзя, а именно это будет делать предыдущий греп, если после цифры 4 будет идти слово. Его в серьезной работе нельзя использовать, нужно составить белый список выражений, которые нужно соединить.
Белый список делается примерно так (?<=\d) (?=мм\d?|см\d?|м\d?). Он подходит и для пар число-слово, и для единиц измерения. Дописывайте нужные единицы в скобки через |.
 
  • Спасибо
Реакции: zin_wlad и Petruccio
Белый список делается примерно так (?<=\d) (?=мм\d?|см\d?|м\d?). Он подходит и для пар число-слово, и для единиц измерения. Дописывайте нужные единицы в скобки через |.
Делаю белый список, работает только цифра-слово (?<=\d) (?=млн\d?|см\d?|м\d?) (млн. руб.|тыс. руб.), а можно как то сделать список слово-слово?
млдр. руб.|млн. руб.|тыс. руб.
 
Это один из примеров, а мне нужно составить список, чтоб все разом было, млн. руб | млн. тонн | тыс. человек | тыс. рублей | млдр. тонн | тыс. га | млн. а.ч и все применить к стилю No Break, чтоб не было разрывов между ед. измерениями
 
Я написал
Дописывайте нужные единицы в скобки через |.
а не
создайте новые скобки и пишите туда что хотите
.
Кроме того, точки нужно экранировать. Почитайте любое руководство по регулярным выражениям для начала.
 
(?<=\d) (?=мм\d?|см\d?|м\d?|млн\. руб|тыс\. тонн)
 
Работает. Просто пробелы в выражениях млн. тонн, тыс. тонн нужно обработать отдельным проходом, чтобы сама "единица измерения" не делилась. Греп не умеет делать все за один проход.
 
  • Спасибо
Реакции: zin_wlad
После сокращения млн точка не ставится.
 
После сокращения млн точка не ставится.
Не знаю как в русском но в румынском логика такая: если один миллион то точка не ставится — млн
Если много миллионов то точка обязательна — млн.
 
Не знаю как в русском но в румынском логика такая: если один миллион то точка не ставится — млн
Если много миллионов то точка обязательна — млн.

хотелось бы ссылочку на румынские правила очень интересно
 
Не знаю как в русском но в румынском логика такая: если один миллион то точка не ставится — млн
Если много миллионов то точка обязательна — млн.
Это не правильно. Кстати, млрд тоже точка не ставится.
 

хотелось бы ссылочку на румынские правила очень интересно
А вот нету у меня ссылки, потому что нет ресурса на который ссылаться. Меня всё время корректор просила исправить когда работал в экономической газете.
Сейчас погуглил просто по интернету, кто-то пишет с точкой, кто-то без. Причём сокращают как хотят, видел и «mln» и «mil».
 
А вот нету у меня ссылки, потому что нет ресурса на который ссылаться. Меня всё время корректор просила исправить когда работал в экономической газете.
Сейчас погуглил просто по интернету, кто-то пишет с точкой, кто-то без. Причём сокращают как хотят, видел и «mln» и «mil».
У вас корректор не корректный :D я всегда корректора на место ставлю, если он не может обосновать свои хотелки