原创文章,转载请注明出处,谢谢!
作者:清林,博客名:飞空静渡
前言: 获取字符串中的字串的方法有很多,这里介绍的是使用正则表达式来获得,都是使用c++的代码。
第一个是使用c中的正则表达式的api。
下面是使用c的api来完成的函数的代码:
其中regcomp,regexec都是c下面的函数。
下面举个例子来说明怎么使用这个函数。
在linux的/proc目录下有个有关分区信息的文件/proc/partitions,它里面的内容如下(在我们的电脑里,其他人的会略有不同):
major minor #blocks name
8 0 244198584 sda
8 1 29527438 sda1
8 2 1 sda2
8 5 59038843 sda5
8 6 118093783 sda6
8 7 10000431 sda7
8 8 497983 sda8
8 9 27037363 sda9
8 16 156290904 sdb
8 17 53761491 sdb1
8 18 102518797 sdb2
8 32 156290904 sdc
8 33 156288000 sdc1
8 48 156290904 sdd
8 49 313236 sdd1
8 50 3068415 sdd2
现在我们要做的是找出所有的硬盘设备名,如上面的sda,sdb,sdc和sdd,那么这个该怎么做了,看下面的代码。
现在说的另外一种方法是使用QT的正则表达式的方法,看下QT下是怎么使用,同样是处理上面的/proc/partitions文件,找出硬盘设备名。
关于正则表达式和c和QT的正则表达式的api的用法可以google一下,这里不作介绍了!