Я буду предупреждать вас всех с самого начала: я новичок в регулярных выражениях. Имея это в виду, давайте начнем, и я использую C++ Deelx library.О матчах в регулярном выражении
У меня есть этот текст, чтобы передать в моем регулярном выражении:
char tempStr[] = "Ésta è À ç À Ária õ ûma CÓïSSSê";
Мое намерение состоит в том, чтобы удалить все occurencies из акцентированных символов. Читая о регулярных выражениях на очень хорошем сайте: http://www.regular-expressions.info/completelines.html
Я сделал это выражение, чтобы заменить все occurencies прописного ударения «A»:
//^\b.*(À|Á|Â|Ã|Ä|Å)\b.*$
Для моего удивления, это не сработало. Мое недопонимание этого выражения: «Поиск во всей строке, ноль или более случаев этих символов».
Теперь, когда я использую это выражение задание выполнено отлично:
(À|Á|Â|Ã|Ä|Å)
Что заставляет меня задаться вопросом, является: Я не определено ничего вместо набора символов ни количество occurencies и работ, а также в В первом случае ничего не происходит. Зачем?
Хорошо, я понимаю. Некоторые другие вопросы: для первого шаблона, что мне нужно изменить, чтобы получить эти символы несколько раз? И каково ваше предложение улучшить, чтобы исправить все акцентированные персонажи? Мне очень любопытно. – learner
Для первого шаблона, совпадающего с несколькими акцентированными A, вы должны просто добавить '+' после списка в скобках, например '^ \ b. * (À | Á | Â | Ã | Ä | Å) + \ b. * $' , Но вы могли бы лучше написать его, как '^ \ b. * [ÁÁÂÃÄÅ] + \ b. * $'. Чтобы удалить акцентированные символы, вам, вероятно, следует использовать функцию замены регулярных выражений на вашем языке, а затем совместить символы с акцентом, а затем заменить их пустой строкой. В зависимости от того, какую функцию вы используете, регулярное выражение может отличаться. – rednaw
Понял. Я буду тестировать в своем коде. – learner