1. 首先,最为推荐的是 boost::regex 库,这是鼎鼎大名的 boost 库中的正则表达式库,它不仅是跨平台的,而且boost库还是开源且可以自由的用于商业软件中的库,所以,如果可以,尽量使用这个。
下载地址:http://www.boost.org/ 在里面搜索 regex
2. 如果在Linux中,纯C的话,可以使用 #include 里的: regcomp()/regexec(),具体可以参见man或者:http://hi.baidu.com/david_jlu/blog/item/87ada1dbb9af6a60d0164eda.html
不过,如果不是只能使用C的话,建议还是不要用这个,C里管理内存太BT了!
3. 如果在win+VC2005环境里的话,还有一个选择是:ATL的CAtlRegExp,但是好像这个比较奇怪,而且在2008中没有,建议不要使用。
4. 还有一个选择是MS research的GRETA,也是开源的,而且自己称的是在有些case下比boost的快7倍,比ATL的快10倍!但是我没试过,也没有仔细看licence,用前最好先看清licence。
下载地址:http://research.microsoft.com/en-us/downloads/bd99f343-4ff4-4041-8293-34c054efe749/default.aspx
