хасенчик

житие и страдание грешнаго
 

Заместване на ръчна номерация

June 6, 2006, 10:42 am от хасенчик

Мощта на RegExp (регулярните изрази) е несъмнена, без значение къде се използват. Примерно всеки редактор има поддръжка на RegExp, без MS Word разбира се, но дълго време игнорирах тази възможност.
Вчера (понеделник), някъде по пладне, ми излезе някакъв ХТМЛ-ски “списък”, номериран ръчно в отделни параграфи. Представих си какво триене на числа и точки щеше да падне, все пак списъка беше огромен! Та задачата беше да се заменят всички номерации от тип число, точка и шпация (1. , 2., 3. …). Гледам отметката ‘Use regular expression’ на Find and Replace-a на редактора ми стои включена.
Първо направих опитах с [\d][\.][\s] (необяснимо за мен [\d\.\s] не върши същата работа). Това обаче съвпада само с 1 число, 1 точка и 1 шпация!
За номерация, която е не повече от двъцифрена - [\d]{1, 2}[\.][\s] работи чудесно! Числата в къдравите скоби са минималният и максималният брой на съвпадения, в случая - межу 1 и 2 знака за числа.
Максималната граница може да остане и отворена - [\d]{1, }[\.][\s], което съвпада с всичи символи за числа, които могат да бъдат 1 или повече, следвани от точка и шпация. Това може да се напише и по-съкратено: [\d]+[\.][\s]. + замества {1, } (1 или повече съвпадения).

хасенчик се задвижва с гордост от WordPressПубликации (RSS) и Комнентари (RSS).