Я боюсь с регулярным выражением, чтобы остановиться в конце строки.Regex: не соответствует концу строки
ввода выглядит следующим образом:
Некоторые линии имеют значения (могут содержать любые символы) после двоеточия, некоторые нет. Там могут быть места с обеих сторон толстой кишки, может и не быть.
В строках 2 и 4 следующая работа (т.е. матч 12
и 16
соответственно):
Pink\s*:\s*(.*)\n
Red\s*:\s*(.*)\n
Но для линии 3 (где нет никакого значения, чтобы соответствовать), регулярное выражение с использованием вышеуказанного синтаксиса возвращает 16 , т.е. читается за пределами строки.
Может ли кто-нибудь предположить, что я делаю неправильно? Я использую VBA.
Только что заметил дополнительный двоеточие до 16 в примере, так что это на самом деле: 16, который возвращается, но это не относится к вопросу. – QAer
Вам нужно заменить '\ s' на' [\ t] '. Или с '[^ \ S \ r \ n]'. –