正则表达式
原文链接 http://www.k8s.tips/tech/2009/09/02/regex_in_lang/
注:以下为加速网络访问所做的原文缓存,经过重新格式化,可能存在格式方面的问题,或偶有遗漏信息,请以原文为准。
各个语言的正则表达式使用,在这些记录一下:
Javascript
Javascript的正则函数好像是最简单的了,也可能是因为本身就是一种弱类型的语言:看一下使用吧:
var pattern = /test$/;
pattern.match("test"); // 这个会匹配全串,返回true or false;
pattern.exec("test"); //这个呢则会查找每个匹配的部分,返回值是匹配的字符串
Java
Java语言的也不太麻烦:
Matcher matcher = Pattern.compile("\\s+where\\s*$").matcher("text where");
matcher.matches(); // 这个匹配全串,返回true or false;
matcher.find(); // 这个也返回true or false,但是这个是查找串的一部分
C
挺麻烦,估计是c的一惯风格
regex_t re;
regmatch_t pmatch;
int rc = regcomp(&re, "a$", 0);
assert(rc >= 0);
while(regexec(&re, "adfasfa", 1, &pmatch, 0)>=0)
// c库就一个啊,没有别的了,查串中的每一个,rm_so是串的开始位置,
// rm_eo是串的结束位置;需要自己拆串了。
printf("%d %d", pmatch.rm_so, pmatch.rm_eo);