读书人

linux c正则表达式解决办法

发布时间: 2013-03-14 10:33:15 作者: rapoo

linux c正则表达式
regcomp (&reg, "\\((\\d{1,3}\\,){5}\\d{1,3}\\)", 0);
ret = regexec(&reg, "(192,192,192,114,61,220)", nmatch, pm, 0);
结果ret = 1

不知道错在哪里? linux 正则表达式 c
[解决办法]
无论是GNU ERE 还是 POSIX ERE都不支持\d的。
试试
"\\(([0-9]{1,3},){5}[0-9]{1,3}\\)"
[解决办法]
别忘记加上REG_EXTENDED
regcomp (&reg, "\\(([0-9]{1,3},){5}[0-9]{1,3}\\)", REG_EXTENDED);



引用:
无论是GNU ERE 还是 POSIX ERE都不支持\d的。
试试
"\\(([0-9]{1,3},){5}[0-9]{1,3}\\)"

[解决办法]
网上有多介绍正则表达式的文章。

可能是最好的介绍正则表达式的中文材料
http://scc.qibebt.cas.cn/docs/linux/script/tao_regexps_zh.html

各种风格的正则表达的比较
http://www.regular-expressions.info/refflavors.html

学习正则表达式的好帮手
http://www.regexbuddy.com/

读书人网 >UNIXLINUX

热点推荐