(轉貼)正則表達式學習心得體會(5)

 2023-10-06 阅读 20 评论 0

摘要:還有什么沒提到呢?   到目前為止,已經提到了許多建立RE的元素,當然還有許多元素沒有提到,下表整理了一些沒提到的元素,在最左邊的字段的數字是說明在Expresso中的例子。   # 語法 說明   \a Bell 字符  \b 通常是指字的邊界,在字符
還有什么沒提到呢?

  到目前為止,已經提到了許多建立RE的元素,當然還有許多元素沒有提到,下表整理了一些沒提到的元素,在最左邊的字段的數字是說明在Expresso中的例子。

  # 語法 說明

  \a Bell 字符
  \b 通常是指字的邊界,在字符組里所代表的就是backspace
  \t Tab

  34 \r Carriage return

  \v Vertical Tab
  \f From feed

  35 \n New line
?  \e Escape

  36 \nnn ASCII八位碼為nnn的字符

  37 \xnn 十六位碼為nn的字符

  38 \unnnn Unicode為nnnn的字符

  39 \cN Control N字符,舉例來說Ctrl-M是\cM

  40 \A 字符串的開始(和^相似,但不需籍由multiline選項)

  41 \Z 字符串的結尾
  \z 字符串的結尾

  42 \G 目前查找的開始

  43 \p{name} Unicode 字符組名稱為name的字符,比如說\p{Lowercase_Letter} 所指的就是小寫字
  (?>exp) Greedy次描述,又稱之為non-backtracking次描述。這只符合一次且不采backtracking。

  44 (?<x>-<y>exp)

  or (?-<y>exp) 平衡群組。雖復雜但好用。它讓已命名的抓取群組可以在堆棧中操作使用。(小弟對這個也是不太懂哩)

  45 (?im-nsx:exp) 為次描述exp更改RE選項,比如(?-i:Elvis)就是把Elvis大乎略大小寫的選項關掉

  46 (?im-nsx) 為之后的群組更改RE選項。
  (?(exp)yes|no) 次描述exp視為zero-width positive lookahead。若此時有符合,則yes次描述為下一個符合標的,若否,則no 次描述為下一個符合標的。
  (?(exp)yes) 和上述相同但無no次描述
  (?(name)yes|no) 若name群組為有效群組名稱,則yes次描述為下一個符合標的,若否,則no 次描述為下一個符合標的。

  47 (?(name)yes) 和上述相同但無no次描述

  結論

  經過了一連串的例子,及Expresso的幫忙,相信各位大大對RE有個基本的了解,網絡上當然有許多有關于RE的文章,如果各位大大有興趣http://www.codeproject.com 還有許多關于RE的相關文章。若大大對書有興趣的話,Jeffrey Friedl的Mastering Regular Expressions很多大大都有推(小弟還沒拜讀)。希望籍由這樣的心得報告,能讓對RE有興趣的大大能縮短學習曲線,當然這是小弟第一次接觸RE,若文章中有什么錯誤或說明的不好的地方,可要請各位大大體諒,并請各位大大將需要修正的地方mail給小弟,小弟會非常感謝各位大大。

轉載于:https://www.cnblogs.com/lsgoodsun/archive/2007/05/14/746065.html

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/120669.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息