Я хочу разрешить любые символы от 0 до 2 между каждой группой в регулярном выражении (this is)?.??.??(an)?.??.??(example sentence)
. Он должен соответствовать выделенному полужирным шрифтом тексту в следующих строках:
бла бла. Пример предложения
бла-бла. Это пример предложения
Что-то что-то Пример предложения
Теперь в первом примере совпадение равно ah. example sentence
. Я думал добавить 2 вопросительных знака к "." будет означать, что механизм регулярных выражений предпочтет соответствовать 0 символов.
Я использую регулярное выражение в VBA в MS Word, реализованное CreateObject("vbscript.regexp")
, которое, как я понимаю, использует вариант регулярного выражения VBScript, который, как я понимаю, такой же, как вариант JavaScript.
.{0,2}
(или даже.{1,2}
) внутри необязательных групп,(this is.{0,2})?(an.{0,2})?(example sentence)
, см. это демо. - person Wiktor Stribiżew   schedule 17.01.20170020002101
не следует ли2.??.??.??101
предпочесть2101
20002101
? - person Some_Guy   schedule 17.01.20172
найден (первый2
), он начинает сопоставляться с последующими подшаблонами, и когда совпадение найдено, оно возвращается. - person Wiktor Stribiżew   schedule 17.01.2017