青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

posts - 26, comments - 2, trackbacks - 0, articles - 0
  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

工作中經(jīng)常需要在正則表達(dá)式中使用方括號(hào),比如匹配Linux系統(tǒng)命令行提示符“[root@localhost ~]# ”。在python中,可以使用正則表達(dá)式“[\[][^\[\]]*[\]][#|$] ”進(jìn)行匹配,但在regex中此正則表達(dá)式無法正確匹配。
由于man手冊(cè)中缺少對(duì)方括號(hào)轉(zhuǎn)義的介紹,本文對(duì)regex中方括號(hào)的使用進(jìn)行測試,測試程序如下:

#include <stdio.h>
#include 
<string.h>

#include 
<sys/types.h>
#include 
<regex.h>

int main(int argc, char** argv)
{
        
char * pattern, *mstr;
        
int x, z, lno = 0, cflags = REG_EXTENDED;
        
char ebuf[128], lbuf[256], format[32];
        regex_t reg;
        regmatch_t pm[
10];
        
const size_t nmatch = 10;

        pattern 
= argv[1];
        z 
= regcomp(&reg, pattern, cflags);

        
if (z != 0)
        
{
                regerror(z, 
&reg, ebuf, sizeof(ebuf));
                fprintf(stderr, 
"%s: pattern '%s' \n",ebuf, pattern);
                regfree(
&reg);
                
return 1;
        }


        
while(fgets(lbuf, sizeof(lbuf), stdin))
        
{
                
++lno;
                
if ((z = strlen(lbuf)) > 0 && lbuf[z-1]== '\n') lbuf[z - 1= 0;

                z 
= regexec(&reg, lbuf, nmatch, pm, 0);
                
if (z == REG_NOMATCH)
                
{
                        printf(
"not match\n");
                        
continue;
                }

                
else if (z != 0)
                
{
                        regerror(z, 
&reg, ebuf, sizeof(ebuf));
                        fprintf(stderr, 
"%s: regcom('%s')\n",
                                        ebuf, lbuf);
                        
return 2;
                }


                
if (pm[0].rm_so!=-1)
                        printf(
"%04d: %s\n", lno, lbuf);
                
for (x = 0; x < nmatch && pm[x].rm_so != -1++ x)
                
{
                        mstr 
= strndup(lbuf + pm[x].rm_so, pm[x].rm_eo-pm[x].rm_so);
                        printf(
" $%d: %s\n", x, mstr);
                        free(mstr);
                }

                fflush(stdout);

        }


        regfree(
&reg);
        
return 0;
}
下面是對(duì)正則表達(dá)式“[\[][^\[\]]*[\]][#|$] ” 的測試,顯然不符合要求。
./testreg "[\[][^\[\]]*[\]][#|$] "  
[root@localhost bin]# 
not match
[a\]# 
0005: [a\]# 
 $
0: [a\]# 
從簡單的開始先測試左括號(hào)“[”的匹配:
./testreg "[\[]+"
a
not match
[
0002: [
 $
0: [
[root@localhost bin]# 
0003: [root@localhost bin]# 
 $
0: [
再測試右括號(hào)“]”:
./testreg "[\]]+"
]
not match
\]  
0002: \]
 $
0: \]
-----------------
.
/testreg "[]]+"
]]
0001: ]]
 $
0: ]]
兩個(gè)簡單的正則表達(dá)式可以看出:regex中左方括號(hào)需要轉(zhuǎn)義,右方括號(hào)不需要轉(zhuǎn)義。
下面我們?cè)賮頊y試匹配一下任意非方括號(hào)字符:
./testreg "[^\[]]+" //對(duì)[轉(zhuǎn)義,不對(duì)]轉(zhuǎn)義
[abc]
0001: [abc]
 $
0: c]
.
/testreg "[^\[\]]+" //對(duì)[和]轉(zhuǎn)義
[abc]
0001: [abc]
 $
0: c]
.
/testreg "[^]\[]+" //對(duì)[轉(zhuǎn)義,不對(duì)]轉(zhuǎn)義,且把]放在^后使]不與前面的[匹配
[abc]
0001: [abc]
 $
0: abc
通過上面測試可以得出正確的正則表達(dá)式來匹配Linux命令行提示符——“[\[][^]\[]*[]][#$] ”或“\[[^]\[]*][#$] ”。
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            夜夜嗨av一区二区三区网站四季av | 老色鬼久久亚洲一区二区| 一区二区三区**美女毛片| 精品福利电影| 最新中文字幕一区二区三区| 亚洲理伦电影| 亚洲一区二三| 久久久久久亚洲精品杨幂换脸 | 老司机免费视频一区二区三区 | 亚洲免费在线观看视频| 亚洲欧美日韩国产综合| 久久这里只有| 欧美日韩亚洲在线| 国产亚洲欧美aaaa| 亚洲精品在线一区二区| 欧美一区二区黄色| 欧美福利一区| 亚洲女性喷水在线观看一区| 久热精品在线| 国产伦精品一区二区三区四区免费 | 亚洲无线视频| 久久人91精品久久久久久不卡| 欧美精品一区二区三区很污很色的 | 欧美色网在线| 亚洲成人中文| 亚洲欧美综合一区| 欧美激情亚洲| 久久精品网址| 国产精品乱码| 亚洲乱码国产乱码精品精天堂 | 久久精品论坛| 日韩视频三区| 久久综合狠狠| 国产日产高清欧美一区二区三区| 亚洲理论在线| 美女爽到呻吟久久久久| 亚洲欧美激情在线视频| 欧美精品一区在线观看| 亚洲高清在线视频| 久久亚洲国产成人| 亚洲在线观看免费| 欧美体内she精视频| 亚洲精品在线二区| 欧美大片免费看| 久久久久久9| 国产一区二区看久久| 午夜精品成人在线| 亚洲一区二区黄色| 国产精品老女人精品视频| 在线亚洲电影| 日韩午夜中文字幕| 欧美剧在线观看| 亚洲精品午夜| 亚洲国产精品一区在线观看不卡| 久久精品国产精品| 黄色一区二区三区| 91久久精品美女高潮| 快she精品国产999| 免费观看不卡av| 伊人久久综合| 久久久久久亚洲精品中文字幕 | 在线中文字幕一区| 欧美日韩在线视频一区| 亚洲综合首页| 亚洲欧美成人在线| 国产深夜精品| 另类国产ts人妖高潮视频| 久久久久久亚洲精品杨幂换脸| 国产真实久久| 欧美国产日韩在线| 欧美人妖另类| 午夜一级久久| 久久美女性网| 日韩一二三区视频| 亚洲无线视频| 韩日视频一区| 亚洲精品久久视频| 国产乱码精品| 欧美大片一区| 国产精品老牛| 欧美国产国产综合| 国产精品久久99| 麻豆成人91精品二区三区| 欧美电影在线| 久久九九国产精品| 欧美日韩国产成人| 欧美一区=区| 蜜臀久久99精品久久久画质超高清| 日韩一区二区精品葵司在线| 亚洲午夜电影在线观看| 在线观看日韩欧美| 中文在线不卡视频| 1769国产精品| 亚洲主播在线播放| 亚洲高清在线| 小嫩嫩精品导航| 99精品欧美一区二区蜜桃免费| 亚洲欧美日韩直播| 一本色道久久综合狠狠躁的推荐| 欧美在线亚洲在线| 亚洲欧美一区二区精品久久久| 久久久久久免费| 亚洲在线视频观看| 欧美国产综合一区二区| 久久福利毛片| 国产精品成人播放| 亚洲欧洲精品一区二区| 伊人成综合网伊人222| 国产精品99久久久久久人| 亚洲韩国青草视频| 久久国产精品72免费观看| 亚洲午夜三级在线| 欧美高清在线一区| 免费视频一区二区三区在线观看| 国产精品久久久久9999高清 | 午夜在线视频观看日韩17c| 欧美精品一区二区高清在线观看| 欧美高清视频在线播放| 黄色精品一区二区| 日韩视频在线免费观看| 亚洲国产成人一区| 欧美在线视频二区| 欧美一级黄色录像| 国产精品激情| 亚洲午夜极品| 午夜久久久久| 国产精品乱码久久久久久| 亚洲精品国久久99热| 亚洲国产欧美日韩精品| 久久久之久亚州精品露出| 久久久久久久综合色一本| 国产欧美va欧美不卡在线| 亚洲天堂av在线免费观看| 亚洲性图久久| 国产精品美女一区二区| 亚洲一级免费视频| 欧美一区二区精品久久911| 国产精品腿扒开做爽爽爽挤奶网站| 亚洲视频你懂的| 欧美一区亚洲一区| 国产一区二区精品久久99| 欧美一区二区三区播放老司机| 欧美在线地址| 国产丝袜美腿一区二区三区| 亚洲欧美制服中文字幕| 久久久久久一区二区三区| 一区在线免费| 欧美高清在线视频| 一本综合精品| 久久成人在线| 国产日韩欧美亚洲| 久久不射2019中文字幕| 欧美国产成人精品| 国产精品99久久99久久久二8| 国产精品美女黄网| 久久久精品动漫| 亚洲精品在线观| 欧美在线电影| 亚洲经典在线看| 欧美日韩视频在线| 午夜激情亚洲| 欧美国产日本在线| 日韩视频永久免费观看| 欧美日韩在线亚洲一区蜜芽| 亚洲欧美国产高清va在线播| 免费不卡欧美自拍视频| 一区二区三区四区五区视频| 国产欧美丝祙| 欧美成人精品一区| 欧美亚洲一区| 亚洲久久一区| 久久综合亚洲社区| 一区二区三区四区国产| 国产日韩在线一区二区三区| 美女黄毛**国产精品啪啪| 亚洲特级片在线| 亚洲国产成人在线| 久久激情综合网| 99精品视频免费观看视频| 韩国精品一区二区三区| 欧美视频在线播放| 久久一区二区三区av| 亚洲影院免费| 日韩视频一区二区在线观看 | 欧美一区激情| 一本久久综合亚洲鲁鲁五月天| 国产欧美精品一区aⅴ影院| 久久精品国产免费看久久精品| 国产欧美日韩在线播放| 久久久精品欧美丰满| 亚洲欧美日韩另类| 99riav国产精品| 亚洲欧洲另类| 亚洲第一视频网站| 久久久久久久综合| 午夜久久电影网| 亚洲在线网站| 中文国产亚洲喷潮| 99热这里只有精品8| 在线看片第一页欧美|