RegEx flavor: wxRegEx .
Я пытаюсь создать "сгруппированное" регулярное выражение, соответствующее строке, которая иногда начинается с пробела.Когда он не начинается с пробела, он начинается с целевой группы (второе выражение в скобках в следующем примере).Это относительно простая строка, состоящая из нескольких предсказуемых токенов и одной части произвольного текста, например,
"good: Sed ut perspiciatis unde omnis iste natus error "
"better: Sit voluptatem accusantium doloremque laudantium "
"best: Nemo enim ipsam voluptatem quia voluptas "
" ok: Sit voluptatem accusantium doloremque laudantium "
Примечание : символы в кавычках не частьмой вклад.Вводя цитаты в своем сообщении, я пытаюсь сделать границы каждой строки / строки более четкими.
Регулярное выражение, которое я придумал, чтобы соответствовать вышеприведенному «сгруппированному» образом (т.е. я могукаждая группа отдельно для дальнейшей обработки):
(^\s*)(good|better|best|ok)(: )(.*)( $)
Примечание : \ s - это сокращение класса от wxRegEx для [[: space:]].
Проблема в том, что это регулярное выражение работает только тогда, когда строка фактически начинается с пробела.Зачем?разве «*» сразу после «\ s» не означает «0 или более вхождений \ s»?
Я знаю, что мне здесь не хватает чего-то фундаментального, но что это?