Как сопоставить несократимые дроби с регулярным выражением?
Например, 23/25, 3/4, 5/2, 100/101 и т. Д. .
Прежде всего, я понятия не имею о реализации gcd-алгоритма в регулярном выражении.
Обновление для всех, кто ' s отвечает вроде «Вы используете неправильный инструмент»:
Да, ребята, я понимаю, для чего обычно используется регулярное выражение. Это нормально. Но то, что этот вопрос странный, - это своего рода вся его суть.
Обновлено 2: Идея состоит в том, чтобы найти регулярное выражение, которое могло бы быть полезно в такой ситуации:
$> echo "1/2" | grep -P regex
1/2
$> echo "2/4" | grep -P regex
Итак, регулярное выражение должно быть только строкой , без использования скриптов и переменных. Только регулярное выражение.
На самом деле, я уже знаю некоторое регулярное выражение, которое соответствует сокращаемым дробям, записанным в унарной системе счисления.
$> echo "11/1111" | grep -P '^1/1+$|(11+)+\1+/\1+$'
11/1111
Итак, дело в том, чтобы преобразовать десятичную систему счисления в унарную в регулярном выражении, но я не знаю, как это сделать.