Как я могу сопоставить неприводимые фракции с регулярным выражением?
Например, 23/25, 3/4, 5/2, 100/101 и т.д.
Прежде всего, я понятия не имею о реализации gcd-алгоритма в regex.
Обновить для всех вас, кто отвечает как "Вы используете неправильный инструмент":
Да, ребята, я понимаю, для чего обычно используется регулярное выражение. Все в порядке. Но что этот вопрос странный, это своего рода точка.
Обновлено 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
Итак, нужно преобразовать из десятичной в унитарную систему чисел в regex, но я не знаю, как это сделать.