Для преобразования входной строки thecapital([x], implies(maincity(y),x))
в выходную строку implies(maincity(y),x))
вы можете использовать следующую простую функцию:
const char *
transform(const char *expr) {
return expr + 16;
}
Он не использует регулярные выражения, но, с другой стороны, молниеносно. Или, может быть, вы не четко сформулировали свой вопрос. Например, вы не описали словами, какое преобразование должно быть сделано. Одного примера недостаточно.
Так что вы действительно хотите сделать:?
- Пропустить первые 16 символов входной строки
- Возвращать все после первого пробела
- Вернуть все после последнего пробела
- Возвращает суффикс аргумента, начинающийся со второго
i
- Возврат
"implies(maincity(y),x))"
- Возвращает второй аргумент термина в круглых скобках, за которым следует дополнительная закрывающая скобка
Для вашего примера моя простая предложенная функция удовлетворяет всем этим требованиям. Но, конечно, он безнадежно потерпит неудачу, если ему будет предоставлен какой-либо другой вклад