簡體   English   中英

在C中執行正則表達式

[英]performing regular expression in C

我想在C中執行正則表達式。 假設我有以下文字:

  thecapital([x], implies(maincity(y),x))

該程序必須輸出如下:

   implies(maincity(y),x))

有人可以建議我該怎么做嗎?

要將輸入字符串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))"
  • 將第二個參數返回給括號中的術語,然后加上一個額外的右括號

對於您的一個示例,我建議的簡單功能可以滿足所有這些要求。 但是,當然,如果給出其他任何輸入,它將無可救葯地失敗。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM