易截截图软件、单文件、免安装、纯绿色、仅160KB

linux C正则表达式——POSIX正则测试

这是C的原程序
#include <stdio.h>
#include <regex.h>
int main(int argc, char** argv)
{
regex_t reg;
regmatch_t pm[10];
char *pattern;
char buf[50];
const size_t nmatch = 10;

pattern = argv[1];
int result = regcomp(®, pattern, REG_EXTENDED);
while( fgets(buf, sizeof(buf), stdin) )
{
int e = 0;
if ( e = strlen(buf) > 0 && buf[e-1] == '\n' )
buf[e-1] = 0;
result = regexec( ®, buf, nmatch, pm, REG_NOTBOL );
if ( result == REG_NOMATCH )
continue;
int i = 0;
for ( i = 0; i < nmatch && pm[i].rm_so != -1; ++i )
{
char c[50] ;
strncpy( c, buf + pm[i].rm_so, pm[i].rm_eo - pm[i].rm_so );
c[pm[i].rm_eo - pm[i].rm_so] = 0;
printf("%d,%d:%s\n", pm[i].rm_so, pm[i].rm_eo,c);
}
}

这是测试文件内容:
的rqyy rqyy
一ggll ggll
不gii gii
是jghu jghu
了bnh bnh是jghu jghu
我trnt trnt
他wbn wbn是jghu jghu
人wwww wwww
低点wqhk
低龄wqhw是jghu jghu
俄狄浦斯wqia
斧削wqie
低潮wqif是jghu jghu
低洼wqif
低温wqij
低沉wqip
低劣wqit
仰泳wqiy
你是wqjg
像是wqjg
含金量wqjg 
编译后执行
bash-4.0$ ./reg "[a-y]*$" <aaa  没有输出数据
13,13:
13,13:
11,11:
13,13:
23,23:
13,13:
23,23:
13,13:
11,11:
23,23:
17,17:
11,11:
23,23:
11,11:
11,11:
11,11:
11,11:
11,11:
11,11:
11,11:
14,14:
bash-4.0$ ./reg "[a-y]*" <aaa
0,0:
0,0:
0,0:
0,0:
0,0:
0,0:
0,0:
0,0:
0,0:
0,0:
0,0:
0,0:
0,0:
0,0:
0,0:
0,0:
0,0:
0,0:
0,0:
0,0:
0,0:
bash-4.0$ ./reg "[a-y]" <aaa     //匹配到了一个字母
3,4:r
3,4:g
3,4:g
3,4:j
3,4:b
3,4:t
3,4:w
3,4:w
6,7:w
6,7:w
12,13:w
6,7:w
6,7:w
6,7:w
6,7:w
6,7:w
6,7:w
6,7:w
6,7:w
6,7:w
9,10:w
bash-4.0$ ./reg "[a-y]{1,}" <aaa      //匹配到了结尾四个字母
3,7:rqyy
3,7:ggll
3,6:gii
3,7:jghu
3,6:bnh
3,7:trnt
3,6:wbn
3,7:wwww
6,10:wqhk
6,10:wqhw
12,16:wqia
6,10:wqie
6,10:wqif
6,10:wqif
6,10:wqij
6,10:wq


相关文档:

Linux下glftpd搭建FTP服务器


 一、前言
    Linux 上有好不少软件能够搭建 FTP,例如 vsftpd、glftpd、proftpd 等。
    vsftpd 是和 Linux 系统上用户管理一样的。所有的用户管理都是在现有宿主系统上的用户以及组管理相同。文件权限上的管理也是和 Linux 一模一样。在搭建上比较快,简单方便。
   ......

Linux上对内存泄露的测试

http://www.ibm.com/developerworks/cn/linux/l-cn-memleak/ 介绍了基本的测试类型和原理
http://blog.csdn.net/rufeng18/archive/2008/11/17/3322099.aspx
http://www.ibm.com/developerworks/cn/linux/l-pow-debug/
http://xueyueming.blog.163.com/blog/static/60411785200981045547110/
http://zhangyafeikimi.java ......

Linux下启动Oracle数据库


[root@GISDB ~]$ su - oracle
[oracle@GISDB ~]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.4.0 - Production on Tue Oct 13 11:03:03 2009
Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.
SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
To ......

Linux下关闭和开启防火墙命令

1) 永久性生效,重启后不会复原
开启: chkconfig iptables on
关闭: chkconfig iptables off
2) 即时生效,重启后复原
开启: service iptables start
关闭: service iptables stop
需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。
在开启了防火墙时,做如下设置,开启相关端口, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号