werehuman 17.10.2011 06:47 Psi+

Можно ли написать такую регулярку, которая в строке заменяла бы все А на Б, а все Б на А?
Я буратино → Я аурбтино.

Recommended by:

@iLeamare: Пстую тред

1. eurekafag 17.10.2011 06:47 WOK

Я ардуино.

2. ulidtko 17.10.2011 07:36

берёшь символ τ, заведомо не принадлежащий исходному алфавиту, и делаешь три замены: А → τ, Б → А, τ → Б.
Можно ли это всё сделать одним регекспом? Боюсь, что нельзя, из соображений теории формальных грамматик. Хотя доказать сейчас не смогу, да, так что может и возможно.

3. rtsome 17.10.2011 09:14

>заведомо не принадлежащий исходному алфавиту
нет такой буквы! и вы банкрот!
а вообще регулярки не заменяют, они матчат.

4. iLeamarertsome /3 17.10.2011 09:15 Jimm

Если её нет, значит надо создать.

5. 238328 17.10.2011 14:56

да

6. eurekafag238328 /5 17.10.2011 14:57 WOK

Нет, нельзя.

7. ulidtkortsome /3 17.10.2011 15:03

как это нет? я беру любой конечный алфавит Σ = {x, y, z, ..., r}, без потери общности переобозначаю все символы в a₁, a2, ..., an, и выбираю символ b, не равный ни одному из ai. Вот он, нашёлся. А ты говоришь, что нет; кто хуй? ты хуй.

8. ulidtkortsome /3 17.10.2011 15:05

но ты прав насчёт матчинга. ОП, как обычно, хрен поймёшь чего хочет.

9. werehumanulidtko /8 17.10.2011 15:05 Psi+

а всё понятное не вызывает вопросов

10. ulidtkowerehuman /9 17.10.2011 15:08 dedicated microblogging account

но вопросы можно задавать понятно даже о непонятных вещах.

11. 238328eurekafag /6 17.10.2011 15:11 >>>

нет, автор выше неправ

12. ulidtko238328 /11 17.10.2011 15:15 dedicated microblogging account

ну, как бы, матчить язык вида {a,b}^n регуляркой можно без проблем. Хотя wai~, это не то, что ОП хотел. ОП хотел, видимо, матчить что угодно.

Do you really want to delete ?