打印本文 打印本文  關閉窗口 關閉窗口  
      語料庫基礎:正則表達式常用代碼
      作者:佚名  文章來源:本站原創  點擊數  更新時間:2012-03-29  文章錄入:admin  責任編輯:admin

       

      語料庫基礎:正則表達式常用代碼

       

      正則表達式(Regular Expression, regex)是計算機匯編語言的一種技術,用于匹配文本中的字符串。我們在使用語料庫時經常會用到它。下面是一些最基礎的代碼。注意,正則表達式的代碼是區分大小寫的。

       

      常用的元字符

      代碼

         

      .

      匹配除換行符以外的任意字符

      \w

      匹配字母、數字、下劃線或漢字

      \s

      匹配任意的空白符

      \d

      匹配數字

      \b

      匹配單詞的開始或結束,即指詞的邊界

      ^

      匹配字符串的開始

      $

      匹配字符串的結束

       

      常用的限定符

      代碼

         

      *

      重復零次或更多次

      +

      重復一次或更多次

      ?

      重復零次或一次

      {n}

      重復n

      {n,}

      重復n次或更多次

      {n,m}

      重復nm

      *?

      重復任意次,但盡可能少重復

      +?

      重復1次或更多次,但盡可能少重復

      ??

      重復0次或1次,但盡可能少重復

      {n,m}?

      重復nm次,但盡可能少重復

      {n,}?

      重復n次以上,但盡可能少重復

       

      常用的反義代碼

      代碼

         

      \W

      匹配任意不是字母、數字、下劃線或漢字的字符

      \S

      匹配任意不是空白符的字符

      \D

      匹配任意非數字的字符

      \B

      匹配不是單詞開頭或結束的位置

      [^x]

      匹配除了x以外的任意字符

      [^aeiou]

      匹配除了aeiou這幾個字母以外的任意字符

       

      常用分組語法

      分類

      代碼

         

      捕獲

      (exp)

      匹配exp,并捕獲文本到自動命名的組里

      (?<name>exp)

      匹配exp,并捕獲文本到名稱為name的組里,也可以寫成(?'name'exp)

      (?:exp)

      匹配exp,不捕獲匹配的文本,也不給此分組分配組號

      零寬斷言

      (?=exp)

      匹配exp前面的位置

      (?<=exp)

      匹配exp后面的位置

      (?!exp)

      匹配后面跟的不是exp的位置

      (?<!exp)

      匹配前面不是exp的位置

      注釋

      (?#comment)

      這種類型的分組不對正則表達式的處理產生任何影響,用于提供注釋讓人閱讀

       

      常用的處理選項

         

         

      IgnoreCase(忽略大小寫)

      匹配時不區分大小寫。

      Multiline(多行模式)

      更改^$的含義,使它們分別在任意一行的行首和行尾匹配,而不僅僅在整個字符串的開頭和結尾匹配。(在此模式下,$的精確含意是:匹配\n之前的位置以及字符串結束前的位置.)

      Singleline(單行模式)

      更改.的含義,使它與每一個字符匹配(包括換行符\n)。

      IgnorePatternWhitespace(忽略空白)

      忽略表達式中的非轉義空白并啟用由#標記的注釋。

      RightToLeft(從右向左查找)

      匹配從右向左而不是從左向右進行。

      ExplicitCapture(顯式捕獲)

      僅捕獲已被顯式命名的組。

      ECMAScript(JavaScript兼容模式)

      使表達式的行為與它在JavaScript里的行為一致。

       

      其他補充代碼

        

         

      \a

      報警字符(打印它的效果是電腦嘀一聲)

      \b

      通常是單詞分界位置,但如果在字符類里使用代表退格

      \t

      制表符,Tab

      \r

      回車

      \v

      豎向制表符

      \f

      換頁符

      \n

      換行符

      \e

      Escape

      \0nn

      ASCII代碼中八進制代碼為nn的字符

      \xnn

      ASCII代碼中十六進制代碼為nn的字符

      \unnnn

      Unicode代碼中十六進制代碼為nnnn的字符

      \cN

      ASCII控制字符。比如\cC代表Ctrl+C

      \A

      字符串開頭(類似^,但不受處理多行選項的影響)

      \Z

      字符串結尾或行尾(不受處理多行選項的影響)

      \z

      字符串結尾(類似$,但不受處理多行選項的影響)

      \G

      當前搜索的開頭

      \p{name}

      Unicode中命名為name的字符類,例如\p{IsGreek}

      (?>exp)

      貪婪子表達式

      (?<x>-<y>exp)

      平衡組

      (?im-nsx:exp)

      在子表達式exp中改變處理選項

      (?im-nsx)

      為表達式后面的部分改變處理選項

      (?(exp)yes|no)

      exp當作零寬正向先行斷言,如果在這個位置能匹配,使用yes作為此組的表達式;否則使用no

      (?(exp)yes)

      同上,只是使用空表達式作為no

      (?(name)yes|no)

      如果命名為name的組捕獲到了內容,使用yes作為表達式;否則使用no

      (?(name)yes)

      同上,只是使用空表達式作為no

       

      打印本文 打印本文  關閉窗口 關閉窗口  
      主站蜘蛛池模板: 欧美极品少妇×XXXBBB| 免费看曰批女人爽的视频网址| 四虎国产精品高清在线观看| 公交车上性配合享受视频| 亚洲欧美日韩国产精品一区二区| 久久精品道一区二区三区| 一级爱爱片一级毛片-一毛| 91午夜精品亚洲一区二区三区| 黄网站在线免费| 精品乱码一区二区三区在线| 欧美日韩免费在线| 抱着娇妻让粗黑人人玩3p| 大陆三级午夜理伦三级三| 国产成人午夜性a一级毛片| 免费绿巨人草莓秋葵黄瓜丝瓜芭乐| 亚洲成av人影片在线观看| 久久久久88色偷偷| 91在线|欧美| 国产人成精品香港三级古代| 美女网站免费福利视频| 男人j放进女人p全黄| 樱桃视频直播在线观看免费 | 交换的一天hd中文字幕| 五月综合激情网| china同性基友gay勾外卖| 韩国精品视频在线观看| 欧美野性肉体狂欢大派对| 成年大片免费视频| 国产欧美精品区一区二区三区| 农村乱人伦一区二区| 久久精品二三区| 91高清免费国产自产| 综合图区亚洲欧美另类图片| 最新国产小视频在线播放| 在线精品91青草国产在线观看 | 亚洲精品美女久久777777| 久久99精品国产麻豆宅宅| jizz日本黄色| 污污视频网站免费| 成人免费观看高清在线毛片| 国产大乳喷奶水在线看|