1

Вопрос касается поиска и замены слова с включенными подстановочными знаками (квази-регулярное выражение).

Согласно этой странице Microsoft:

  • ? представляет любой отдельный символ (например, в регулярном выражении)
  • {n, m} представляет собой определенное количество символов от n до m.

Тем не менее, я получаю следующие результаты

исходная строка: aaaaaaaabbbbbbbaaaaa

найти что: b{1,2}a
результат: abbbbb bba aaaa
(Ожидаемое)

найти что: ??a
результат: abbbbb bba aaaa
(Ожидаемое)

найти что ?{1,2}a
результат: abbbbbbba aaaa

Что на земле происходит с последним ?? Кажется, ведет себя как *

1 ответ1

2

С веб-страницы, которую вы предоставили:

{n, m} - от n до m вхождений предыдущего символа или выражения

а также

() - Выражение

а также

? - Любой отдельный символ, включая символы пробела и пунктуации

Я так думаю "?"не рассматривается как" символ "в этом случае (как"?"это" любой отдельный символ "), но когда вы окружаете его круглыми скобками, оно становится выражением, и оно работает.

Таким образом, правильное регулярное выражение здесь: (?){1,2} а

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .