выбрать две идущие друг за другом цифры или одну цифру если ни перед выбираемой последовательности цифр ни после не следуют другие цифры.
Пример:
Исходная последовательность
1213 14 8 17x161
Нужно чтоб выбралось
14 8 17
Здравствуйте, mefrill, Вы писали:
M>Из примера получается, что перед цифрой всегда должны быть пробелы. Поэтому надо поставить \s перед выражением. Заглянуть за цифры у тебя не получится если в языке РВ нет специального оператора / для этого. Поэтому лучше сделать так: \s[0-9]{1,2}[^0-9]. Сначала идет пробел, затем одна или две цифры, но при условии, что следом за ними будет идти не цифра. Но проблема в том, что будет выбираться лишний символ соответствующий выражению [^0-9] и с этим ничего не поделать. Если у тебя дотнетовская библиотека, то можно эту проблему решить с помощью групп: \s(?<nums>[0-9]{1,2})[^0-9]. Тогда, когда у тебя будет выбираться строка типа 17х, ты сможешь черз имя группы nums взять оттуда цифры 17.
А еще можно использовать positive lookahead и lookbehind:
(?<=\D)\d\d?(?=\D)
1.1.4 stable rev. 510