这几天开始在Hackerrank上边刷题目玩。
做到正则表达式专题的时候,自己提交成功之后,可以看到别人提交的答案。
于是忍不住看了下一个人用C语言做的答案。好奇怎么C语言也能使用正则表达式。
比较牛逼的是,C语言的正则表达式可以帮你找出子模式。
C语言的正则表达式的说明在这个地方:
http://linux.die.net/man/3/regexec
总体用法跟Java的差不多。都是先compile,再进行匹配。
区别在于:
1. C语言里边需要释放编译好的正则表达式。猜想,编译的时候申请了内存。
2. 可以找到匹配的子模式。用一个数组返回他的起至位置,每一对起至位置用一个regmatch_t结构体表示。需要提取的子模式,使用括号表示,第几个开始括号标识的子模式,就是在第几个结构体中。其中第0个结构体,表示主体的匹配
------------------------------------------------------------------------------------------------
其实Java页可以找到用括号分开的子模式的~~