跳至內容

Raku 程式設計/正則表示式

來自華夏公益教科書,開放的書籍,面向開放的世界

正則表示式

[編輯 | 編輯原始碼]

正則表示式是一種用於指定和搜尋字串中的模式的工具,以及其他用途。正則表示式是 Perl 中一個流行且強大的部分,儘管它們在該語言的後續版本中逐漸增長和擴充套件,以一種難以跟蹤和實現的方式。

隨著更多運算子和元字元被新增到引擎中,Perl 的正則表示式變得越來越難用和理解。人們決定 Raku 將打破這種語法,並從頭開始重寫正則表示式,使其更靈活,並且更好地整合到語言中。在 Raku 中,它們被稱為 **regexes**,並且已經變得更加強大。

Raku 以兩種方式支援 regexes:它有一個支援 Perl 風格正則表示式的傳統模式,還有一個支援新式 regexes 的正常模式。

基本量詞

[編輯 | 編輯原始碼]

Regexes 描述了可以在字串資料中搜索並對其進行操作的模式。要搜尋的最基本模式之一是重複模式。為了描述重複,可以使用一些量詞。

運算子 含義 示例 說明
* "零個或多個" B A* 接受一個字串,其中包含一個 'B',後跟任意數量的 'A' 字元,甚至零個。例如:BBAAAAA 等等。
+ "一個或多個" B A+ 接受一個字串,其中包含一個 'B',後跟至少一個 'A'。示例:BAAABA,但不包括 B
? "一個或零個" B A? 匹配一個 'B',可選地後跟一個 'A'。例如:BBA
** "這麼多" B A**5 匹配一個 'B',後跟恰好 5 個 'A' 字元。例如:BAAAAA
B A ** 2..5 匹配一個 'B',後跟至少兩個 'A',不超過 5 個 'A'。例如:BAABAAABAAAABAAAAA
華夏公益教科書