笨蛋学习中(0)

来源:互联网 发布:mac鼠标在windows系统 编辑:程序博客网 时间:2024/03/29 16:16

      每天非工作时间摆弄一下,不成体系,零零碎碎,以往都直接没下文了,觉得怪可惜的,还是记录下来吧,系列名就叫“笨蛋学习中”系列好了……

 

1. 不知是不是因为昨天装了AnkhSVN的关系,今天打开VS2008,发现VA的快捷键不能用了……Shift+Alt+O和Alt+右方向键,前者貌似是VS自己的快捷键,对自己的影响比较大,于是改过来了

 

VS的快捷键设置: 工具->选项->环境->键盘

 

如下图

 VS2008快捷键设置

 

设定的时候,先让按快捷键那个Edit获得焦点,然后输入快捷键,再点分配即可

 

 

 

 

2. boost是个很好用的东西,但是配置稍微麻烦,最简单的做法是去下载一个安装包来,很方便

http://www.boostpro.com/download

 

 

3. 看了一下正则表达式,一些资料

 

http://blog.csdn.net/JsuFcz/archive/2008/11/16/3312786.aspx

这篇有比较多的实例,部分引用如下:

 

 boost::regex的默认正则表达式语法是perl语法
        boost::regex支持perl regular表达式、POSIX-Extended regular表达式和POSIX-Basic Regular表达式,但默认的表达式语法是perl语法,如果要使用其余两种语法需要在构造表达式的时候明确指定。

        例如,下面两种方法效果相同
        // e1 is a case sensitive Perl regular expression:
        // since Perl is the default option there's no need to explicitly specify the syntax used here:
        boost::regex e1(my_expression);
        // e2 a case insensitive Perl regular expression:
        boost::regex e2(my_expression, boost::regex::perl|boost::regex::icase);

perl正则表达式语法
        perl正则表达式语法可参见《perl语言入门》第7、8、9章或boost的文档。这里列出的语法是不全面的,而且部分说明可能并不清楚。

        . 任意字符;使用match_no_dot_null标志时不匹配NULL字符; 使用match_not_dot_newline时不匹配换行字符

        ^ 匹配行的开始
        $ 匹配行的结束
        * 重复零次或则更多,例如a*b可匹配b,ab,aab,aaaaaaab
        + 重复一次以上,例如a+b可匹配ab,aab,aaaaaaaab。但不能匹配b了
        ? 零次或则一次,例如ca?b匹配cb,cab但不匹被caab   
        a{n} 匹配字符'a'重复n次
        a{n,},字符a重复n次以上(含n次)
        a{n,m} a重复n到m次(含)

        *?   匹配前一个原子零次以上
        +?   匹配前一个原子一次以上
        ??   匹配前一个原子零次以上
        {n,}?  匹配前一个原子n次以上(含)
        {n,m?  匹配前一个原子n到m次(含)

        | 或操作,例如ab(d|ef)匹配abd或则abef
        [] 字符集操作,例如[abc]将匹配任何单个字符'a','b','c'
        [a-d],表示a、b、c、d
        ^否操作,例如[^a-c]表示a至c之外的所有字符

 

 

http://blog.csdn.net/begtostudy/archive/2007/11/11/1879206.aspx

这篇比较理论

 

 

http://hi.baidu.com/ayewhy/blog/item/c0a42934557a684b241f1455.html

这篇当资料表用,全文引用如下:

字符匹配语法:
/d   匹配数字(0~9) ‘/d’匹配8,不匹配12;
/D   匹配非数字 ‘/D’匹配c,不匹配3;
/w   匹配任意单字符 ‘/w/w’ 匹配A3,不匹配@3;
/W   匹配非单字符 ‘/W’匹配@,不匹配c;
/s   匹配空白字符 ‘/d/s/d’匹配3 d,不匹配abc;
/S   匹配非空字符 ‘/S/S/S’匹配A#4,不匹配3 d;
.     匹配任意字符 ‘....’匹配A$ 5,不匹配换行;
[…] 匹配括号中任意字符 [b-d]匹配b、c、d, 不匹配e;
[^…] 匹配非括号字符 [^b-z]匹配a,不匹配b-z的字符;
重复匹配语法:
{n} 匹配n次字符 /d{3}匹配/d/d/d,不匹配/d/d或/d/d/d/d
{n,} 匹配n次和n次以上 /w{2}匹配/w/w和/w/w/w以上,不匹配/w
{n,m} 匹配n次上m次下 /s{1,3}匹配/s,/s/s,/s/s/s,不匹配/s/s/s/s
? 匹配0或1次 5?匹配5或0,不匹配非5和0
+ 匹配一次或多次 /S+匹配一个以上/S,不匹配非一个以上/S
* 匹配0次以上 /W*匹配0以上/W,不匹配非N*/W

字符定位语法:
^ 定位后面模式开始位置  
$ 前面模式位于字符串末端  
/A 前面模式开始位置  
/z 前面模式结束位置  
/Z 前面模式结束位置(换行前)  
/b 匹配一个单词边界  
/B 匹配一个非单词边界  
转义匹配语法:
“/”+实际字符 / . * + ? | ( ) { }^ $ 例如://匹配字符“/”
/n 匹配换行  
/r 匹配回车  
/t 匹配水平制表符  
/v 匹配垂直制表符  
/f 匹配换页  
/nnn 匹配一个8进制ASCII  
/xnn 匹配一个16进制ASCII  
/unnnn 匹配4个16进制的Uniode   
/c+大写字母 匹配Ctrl-大写字母 例如:/cS-匹配Ctrl+S

 

 

4. SVN的log命令,有时候会发现不能输出不全,比如没有最新的修改信息,这个时候更新一下工作目录即可……