grep 及正則表達式

来源:https://www.cnblogs.com/thelovelybugfly/archive/2019/04/21/10743634.html
-Advertisement-
Play Games

grpe 及正則表達式 文本查找的需要:grep,egrep,fgrepgrep: 根據模式,搜索文本,並將符合模式的文本行顯示出來。Pattern : 文本字元以及正則表達式的元字元組合而成的匹配條件 grep [OPTIONS] PATTERN [FILE...] -i :忽略大小寫 --col ...


grpe 及正則表達式

文本查找的需要:grep,egrep,fgrep
grep: 根據模式,搜索文本,並將符合模式的文本行顯示出來。
Pattern : 文本字元以及正則表達式的元字元組合而成的匹配條件

grep [OPTIONS] PATTERN [FILE...]
-i :忽略大小寫
--color :顏色突出顯示
-v: 顯示沒有匹配到的行(反向匹配)
-o : 只顯示被模式匹配到的字元串(一個字元串顯示為一行)

* :任意長度字元
?:任意單個字元
[]:
[^]


正則表達式: RE regular expression REGEXP
元字元:
.: 匹配任意單個字元
[]:匹配指定範圍內的任意單個字元

[^]:匹配指定範圍外的任意單個字元

!: 取反

字元集合: (引用的時候還要加一個 [ ] )
[:digit:] 數字
[:lower:] 小寫字母
[:upper:] 大寫字母
[:punct:] 標點符號
[:space:] 空白字元
[:alpha:] 所有字母
[:alnum:] 所有數字和字母

 

匹配次數(貪婪模式:儘可能長的匹配):
* :匹配其前面的字元任意次
a,b,ab,aab,acb,adb,anib
a*b :表示a 出現任意次 然後匹配個b ,所以上面能匹配的是,b,ab,aab

.* :匹配任意長度的任意字元
a.*b : 則表示匹配a開頭b結尾的字元串,中間任意啥都行 . 表示任意字元,* 表示匹配 . 任意次。

\?: 匹配其前面的字元1次或0次
a\?b
\{m,n\}匹配其前面的字元至少m次,至多n次
\是轉義字元,避免被shell解析為命令行展開
a\{1,3}b 匹配ab,a出現至少1次,最多3次的字元 --> ab,aab,aaab
a.\{1,3}b a和b之間出現任意字元,最少1個,最多3個

位置錨定:
^ : 錨定行首,此字元後面的任意內容必須出現在行首
$ : 錨定行尾,此字元前面的任意內容必須出現在行尾
^$: 空白行

\<或\b: 錨定詞首,其後面的任意字元必須作為單詞首部出現
\>或\b: 錨定詞尾,其前面的任意字元必須作為單詞的尾部出現

分組:
\(\)
\(ab\)* : ab作為一個整體,可以出現任意次
後向引用
\1:引用第一個左括弧以及與之對應的右括弧所包括的所有內容 \(ab\).*\1
\2:引用第二個左括弧以及與之對應的右括弧所包括的所有內容 \(ab\).*\2
\3:引用第三個左括弧以及與之對應的右括弧所包括的所有內容 \(ab\).*\3

 

正則表達式:
Basic REGEXP: 基本正則表達式
Extended REGEXP:擴展正則表達式。

基本正則:
.:
[]:
[^]:

次數匹配:
*:
\?: 0或1次
\{m,n\} :至少m次,至多n次

錨定:
^:
$:
\<,\b:
\>,\b

分組:
\(\):
\1,\2,\3....

grep: 使用基本正則表達式定義的模式來過濾文本的命令:
-i:忽略帶大寫
-v:反向搜索
-o:只顯示匹配到的字元串
--color:顯色
-E:使用擴展正則表達式
-A #: 表示某一行匹配到了,其後面的#行也顯示出來,每一組用 -- 分隔
-B #: 表示某一行匹配到了,其前面的#行也顯示出來,每一組用 -- 分隔
-C #:表示某一行匹配到了,其上下的#行也顯示出來,每一組用 -- 分隔

擴展的正則表達式:
字元匹配:
. :任意單個字元
[]:指定範圍內的單個字元
[^]: 指定範圍外的單個字元

次數匹配:
*:匹配其前字元匹配任意次
?:匹配其前字元0次或1次
+:匹配其前字元至少1次
{m,n}:至少m次,至多n次 (不需要再使用 \ )

位置錨定:
^: 行首
$: 行尾
\<,\b: 詞首
\>,\b:詞尾

分組:
(): 分組
\1,\2,\3....
或者
|:or

group -E = egroup

1-255的數字正則表達式:
\<[1-9|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5]]\>


IPV4:
5類: ABCDE 類
A:1-127
B:128-191
C:192-233
匹配IP

fgrep : 不支持正則表達式( 執行速度快)

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 創建一個項目 通過Nuget獲取EF Core相關的擴展包 appsettings.json 建立資料庫連接串 創建資料庫上下文EntityDbContext類,用於掛好實體類映射資料庫表 使用包管理器控制台工具,輸入命令啟用數據遷移 Add-Migration InitialCreate 創建遷移 ...
  • 查看電子病歷系統演示 醫院醫療信息管理系統,EMR電子病歷系統,功能模塊如下所示: 1.住院醫生站 2.住院護士站 3.病案瀏覽工作站 4.質量控制工作站 5.系統維護工作站 本店出售系統全套源碼,包含介面平臺和報表平臺源碼。軟體開發語言是.net c#,開發工具vs2010,資料庫oracle11 ...
  • 一. 概述 本篇探討使用"基於瀏覽器的JavaScript客戶端應用程式"。與上篇實現功能一樣,只不過這篇使用JavaScript作為客戶端程式,而非core mvc的後臺代碼HttpClient實現。 功能一樣:用戶首先要登錄IdentityServer站點,再使用IdentityServer發出 ...
  • ListView 控制項和 DataGridView 控制項 ListView 是跟 Winform 中 DataGridView 用法以及顯示效果差不多的一個 WPF 控制項,可以通過列表的方式方便的顯示數據; 在 ListView 控制項中 DataSource 屬性在這裡是 ;單條數據載入的方法是 , ...
  • C# 獲取當前伺服器運行程式的根目錄,獲取當前運行程式物理路徑 ...
  • WinCE從1995年誕生至今,已有20多年的發展歷史,行業成熟方案覆蓋範圍廣,從車載、工控、手持機都有涉及,且方案成熟。近些年,Android以後來居上的態勢,逐漸滲透至各行業領域,硬體手持大廠也把產品線重心向Android手持遷移,基於Android的行業解決方案越來越成熟,WinCE的開發人才... ...
  • 一、簡要說明 本篇文章主要分析 Abp vNext 當中的模塊系統,從類型構造層面上來看,Abp vNext 當中不再只是單純的通過 來管理其他的模塊,它現在則是 和 來協同工作,其他的代碼邏輯並無太大變化。 Abp vNext 規定每個模塊必須繼承自 介面,這樣 vNext 系統在啟動的時候才會掃 ...
  • 方法二:根據路徑下載圖片 方法三 根據路徑下載圖片 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...