Задать вопрос
RuslanSayko
@RuslanSayko

Как составить регулярное выражение?

Всем доброго времени суток.
Помогите написать регулярное выражение. Есть класс символов, нужно найти все слова в которых каждый символов из перечня обязательно встречается всего один раз. Например:

Regex rex = new Regex(@"\b[аклас]{5}\b")

салка - подходит
каска - не подходит
касса - не подходит
ласка - подходит
скала - подходит

Заранее спасибо.
  • Вопрос задан
  • 2694 просмотра
Подписаться 1 Оценить 1 комментарий
Решения вопроса 1
@amaslenn
Судя по всему, проблема в \b. Если у вас поддерживаются просмотры вперед/назад, то вот такое работает:
(?<!\w)([алск]{5})(?!=\w)
Это то еще извращение, но если вам надо просто решить задачу - подойдет.

Вот тут можно тренироваться: regex101.com/r/qD0xQ7/2

PS у вас одна 'а' лишняя.

UPD
проблема может быть еще и в кириллице - ваш вариант с латиницей работает без проблем.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Lerg
@Lerg
Defold, Corona, Lua, GameDev
А обязательно регулярное выражение? Можно выделить все слова и в цикле у каждого слова посчитать сколько в нём встречается нужных символов.

Кстати это называется анаграмами.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы