日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基础正则表达式介绍与练习

發布時間:2023/11/29 编程问答 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基础正则表达式介绍与练习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基礎正則表達式介紹與練習

一、什么是正則表達式

在做文字處理或編寫程序時,用到查找、替換等功能,使用正則表達式能夠簡單快捷的完成目標。簡單而言,正則表達式通過一些特殊符號的幫助,使用戶可以輕松快捷的完成查找、刪除、替換等處理程序。例如 grep, expr, sed , awk. 或 Vi 中經常會使用到正則表達式,為了充分發揮 shell 編程的威力,需要精通正則表達式。正規表示法基本上是一種『表示法』, 只要工具程序支持這種表示法,那么該工具程序就可以用來作為正規表示法的字符串處理之用。 也就是說,例如 vi, grep, awk ,sed 等等工具,因為她們有支持正規表示法, 所以,這些工具就可以使用正規表示法的特殊字符來進行字符串的處理。

二、正則表達式特殊符號

首先是正則表達式的特殊符號:

[:alnum:]代表英文大小寫字母及數字 [:alpha:]代表英文大小寫字母 [:blank:]代表空格和 tab 鍵 [:cntrl:]鍵盤上的控制按鍵,如 CR,LF,TAB,DEL [:digit:]代表數字 [:graph:]代表空白字符以外的其他 [:lower:]小寫字母 [:print:]可以被打印出來的任何字符 [:punct:]代表標點符號 [:upper:]代表大寫字符 [:space:]任何會產生空白的字符如空格,tab,CR 等 [:xdigit:]代表 16 進位的數字類型

特殊符號實例

任意建立一個文本并編輯。或者以原有的文本做實驗皆可。

$ touch regular_express.txt $ vi regular_express.txt //或者 sudo gedit regular_express.txt

操作截圖:

文本內容為:

"Open Source" is a good mechanism to develop programs. apple is my favorite food. Football game is not use feet only. this dress doesn't fit me. However, this dress is about $ 3183 dollars. GNU is free air not free beer. Her hair is very beauty. I can't finish the test. Oh! The soup taste good. motorcycle is cheap than car. This window is clear. the symbol '*' is represented as start. Oh!My god! The gd software is a library for drafting programs. You are the best is mean you are the no. 1. The world <Happy> is the same with "glad". I like dog. google is the best tools for search keyword. goooooogle yes! go! go! Let's go. # I am VBird

查找小寫字母:

$ grep -n '[[:lower:]]' regular_express.txt

操作截圖:

藍色為匹配成功的字符

查找數字:

# grep -n '[[:digit:]]' regular_express.txt

操作截圖:

三、語系對正則表達式的影響

由于不同語系的編碼數據不同,所以造成不同語系的數據選取結果有所差異。以英文大小寫為例,zh_CN.big5 及 C 這兩種語系差異如下:

  • LANG=C 時: 0 1 2 3 4....ABCDE...Zabcde...z
  • LANG=zh_CN 時:0 1 2 3 4...aAbBcCdD.....zZ

在使用正則表達式[A-Z]時, LANG=C 的情況下,找到的僅僅是大寫字符 ABCD..Z。而在 LANG=zh_CN 情況下,會選取到 AbBcCdD.....zZ 字符。因此在使用正則表達式時要特別留意語系。

由于我們一般使用的兼容與 POSIX 的標準,因此使用 C 語系。

四、簡單例子 :ls 命令正則表達式應用

ls 命令是 linux 下最常用的命令。ls 命令是 list 的縮寫,缺省下 ls 用來打印出當前目錄的清單。

命令中‘ * ’號是正則表達式的一種,代表任意字符串。

$ ls $ ls a* //打印出以 a 開頭的文件及內容或者目錄 $ ls *s //打印以 s 結尾的文件及內容或者目錄 $ ls Pub* // Public 文件為空,所有沒有打印任何內容 $ ls e* //沒有以 e 開頭的文件,所有顯示沒有找到匹配項

操作截圖:

總結

以上是生活随笔為你收集整理的基础正则表达式介绍与练习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。