Удалить определенные буквы в фома - PullRequest
0 голосов
/ 02 ноября 2019

Я пытаюсь написать правило для удаления незапускаемых [a | e | h | i | o | u | w | y] букв в строке. Правило должно сохранять первую букву, но удалять указанные буквы в других местах.

Например,

vave -> vv
aeiou -> a

Мой код такой, как показано ниже:

?* [ a | e | h | i | o | u | w | y ]+:0 ?* [ a | e | h | i | o | u | w | y ]+:0;

Однакопри применении правила к vaavaa возвращается

vaav
vava
vava
vav
vava
vava
vav
vvaa
vva
vva
vv

, а vv - это то, что я хочу.

Пожалуйста, поделитесь советом. Спасибо!

Ответы [ 2 ]

1 голос
/ 02 ноября 2019

Вы можете использовать это регулярное выражение для поиска:

(?!^)[aehiouwy]+

и заменить его пустой строкой ""

RegEx Demo

Подробности RegEx:

  • (?!^): заблаговременно, чтобы убедиться, что он не в начале
  • [aehiouwy]+: сопоставить одну или несколько из этих букв внутри [...]
0 голосов
/ 02 ноября 2019

Вы можете использовать захваченную группу и чередование

^(.)|[aehiouwy]+

enter image description here

заменить на \1

Regex demo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...