91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

正則表達式的使用技巧有哪些

發布時間:2021-10-26 11:48:19 來源:億速云 閱讀:201 作者:iii 欄目:編程語言

本篇內容主要講解“正則表達式的使用技巧有哪些”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“正則表達式的使用技巧有哪些”吧!

Regex 新手上路

本質上來看,正則表達式是定義一種搜索模式的字符序列。正則表達式通常用于 grep 等工具中,以在較長文本字符串中查找模式。

考慮以下一個 cat.txt 文件:

catcat2 dog

如果我們使用正則表達式 cat 來搜索匹配項,我們會找到以下匹配項:

catcat2

高級用戶需要注意的是,本文存在一個技術上的錯誤,即正則表達式和使用正則表達式的工具(如 grep)混為了一談。

正則表達式適用于字符,而不是單詞

需要反復強調的一個重要問題是:正則表達式適用于字符,而不是單詞。隱含串聯。

正則表達式的使用技巧有哪些

如果我們使用正則表達式搜索模式 cat,則不會查找單詞「cat」,而會查找字符 c、a 和 t。

點和星號

最基本的字符是單個字符,如 a、b、c 等。現在讓我們介紹以下兩種特殊的字符。

正則表達式的使用技巧有哪些

.(點)字符可以匹配*任何單個字符*。例如,如果我們搜索 c.t,則將匹配從 cat 到 c0t 或 cAt 的任何內容,并將匹配任何單個字符 c +任何字符+單個字符 t。

*(星號)字符有點困難。它修改它前面的字符,然后匹配該字符的*零個或多個字符*。的確如此。例如,cat*可以匹配 cat、catt、cattttt 以及 ca。

示例分析:The cat ate my homework

假設我們逐行讀取一個文件,則第一行如下所示:

The cat ate my homework.

讓我們看看如何匹配該行中的模式 cat。

正則表達式的使用技巧有哪些

我們首先將該模式的首字符與句子中的首字符匹配。

如果找不到匹配項,則跳轉至該行中的下一個字符,然后再從模式的首字符開始。

如果我們找到一個匹配項,則將跳轉至模式和該行中的下一個字符,然后重復這個過程。當我們找到整個模式的匹配時,返回找到匹配項的行。

這就是正則表達式最基本、最常用的功能,即在較大的字符串中查找較小的搜索模式。

講到這里,我想大家已經大致了解了什么是正則表達式以及它的兩個特殊字符: .(點)和 *(星號)。接下來,我會為大家介紹更多其他內容。

正則表達式三叉戟

正則表達式的各個部分可以由三個不同的組件組成:

  1. 鴻蒙官方戰略合作共建——HarmonyOS技術社區

  2.  錨點

  3.  字符集

  4.  修飾符

這三部分構成了正則表達式的三叉戟!

正則表達式的使用技巧有哪些

讓我們從三叉戟的第一個部分開始:錨點!

正則表達式的使用技巧有哪些

錨點

錨點指定個各行的模式位置。下面是兩個最重要的錨點:

  •  ^(插入符號)將模式固定到行首。例如,模式^1 匹配以 1 開頭的任意行。

  •  $(美元符)將模式固定到句尾。例如,9$匹配以 9 結尾的任意行。

注意,在以上兩種情況下,錨點必須分別位于模式的開頭和結尾。^1 匹配行首的 1,但 1^匹配后跟^的 1。類似地,1$匹配以 1 結尾的行,但$1 匹配一個該行任意位置后跟 1 的美元符號。

字符集

三叉戟的第二部分:字符集。字符集是正則表達式的基礎。單個字符,比如 a,是最基本的字符集(一組元素)。但是 [0-9] 等正則表達式可以匹配任何一個數字,或者如果你能回想到 *的含義,則可以制作模式 [0-9][0-9](這個模式匹配的內容留給讀者作為練習)。

其他一些重要的字符集:

  •  [0-9] 匹配 0…9 中的任何一個數字

  •  [a-z] 匹配任何小寫字母

  •  [A-Z] 匹配任何大寫字母

我們還可以對多個字符集進行組合:

  •  [A-ZA-Z0-9] 匹配任何大小寫字母和單個數字。

修飾符

此部分內容沒有深入展開,以前面遇到的一個修飾符 *(星號)為例。修飾符改變它前面字符的含義。還有很多其他的修飾符,但以* 為例進行討論是一個很好的開始。

如下所示:讓我們快速將文本轉儲到文件中。

$ echo "The cat jumps long time \nThen we also have the fact that these are words.\n1234 this is a test post please ignore." >> grep.txt

這是現在文件中的內容。

$ cat grep.txt  The cat jumps long timeThen we also have the fact that these are words.  1234 this is a test post please ignore.

尋找 cat。

$ grep "cat" grep.txt  The cat jumps long tim

尋找任何以數字^[0-9] 開始的任意行。

$ grep "^[0-9]" grep.txt  1234 this is a test post please ignore.

到此,相信大家對“正則表達式的使用技巧有哪些”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

茌平县| 调兵山市| 东平县| 罗田县| 邵阳县| 万山特区| 巫山县| 龙岩市| 大丰市| 高雄县| 德格县| 嘉祥县| 浮梁县| 盘山县| 大荔县| 晋江市| 湟中县| 舟山市| 峡江县| 花垣县| 澄迈县| 高邑县| 正定县| 溧阳市| 开化县| 合肥市| 迁西县| 布尔津县| 明星| 湟源县| 宜章县| 开封市| 静乐县| 深水埗区| 巴楚县| 宁强县| 柘荣县| 土默特左旗| 榆社县| 贵德县| 淮滨县|