亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C中的正則表達式:示例?

C中的正則表達式:示例?

C中的正則表達式:示例?下面是一些關于如何在ANSI C中使用正則表達式的簡單示例和最佳實踐。man regex.h并沒有提供那么多幫助。
查看完整描述

3 回答

?
寶慕林4294392

TA貢獻2021條經驗 獲得超8個贊

正則表達式實際上不是ANSI C的一部分,聽起來您可能在談論POSIX正則表達式庫,它附帶了大多數(所有?)*nix。下面是一個在C中使用POSIX正則表達式的示例(基于這,這個):

#include <regex.h>        regex_t regex;int reti;char msgbuf[100];/* Compile regular expression */reti = regcomp(&regex, "^a[[:alnum:]]", 0);if (reti) {
    fprintf(stderr, "Could not compile regex\n");
    exit(1);}/* Execute regular expression */reti = regexec(&regex, "abc", 0, NULL, 0);if (!reti) {
    puts("Match");}else if (reti == REG_NOMATCH) {
    puts("No match");}else {
    regerror(reti, &regex, msgbuf, sizeof(msgbuf));
    fprintf(stderr, "Regex match failed: %s\n", msgbuf);
    exit(1);}/* Free memory allocated to the pattern buffer by regcomp() */regfree(&regex);

或者,您可能想要退房。PCRE中與Perl兼容的正則表達式庫。Perl語法與Java、Python和許多其他語言中使用的語法基本相同。POSIX語法是grepsedvi


查看完整回答
反對 回復 2019-06-27
?
慕娘9325324

TA貢獻1783條經驗 獲得超4個贊

可能不是你想要的,而是像第2c條可以將POSIX(-ISH)正則表達式編譯為ANSI C。lex,但這種方法允許您犧牲靈活性和可讀性來換取最后一點的速度,如果您真的需要的話。


查看完整回答
反對 回復 2019-06-27
  • 3 回答
  • 0 關注
  • 776 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號