筆記 erlang正則使用

2021-09-01 18:21:49 字數 1424 閱讀 3689

erlang的re包是相容perl(沒學過...)的正規表示式的。

裡面的函式也是對於正則的處理。

lz水平有限 doc又不是很看得懂 先寫一點 以後再補充吧..

可以用compile這個函式來返回特定的內部使用的正規表示式:

20> =re:compile("abc",[caseless]).

}

這邊建立乙個匹配"abc"的表示式 選項是不區分大小寫 

其他的選項還有很多(看不懂啊 看不懂啊...)

run 執行正則匹配

有兩個引數和三個引數的形式 三個引數的形式多了乙個選項

一些例子: mp是上面的函式產生的:

48> re:run("abcabc",mp,).

]}49> re:run("abcabc",mp,).

50> re:run("abcabcabc",mp,[,global]).

關於 capture的選項 all是所有的 first是不顯示子模式(不知道這麼說對不對)的 看例子:

對於子模式還可以用[1],[2]匹配,例子:

replace執行替換:

55> re:replace("abcabcabc","a","",).

"bcabcabc"

56> re:replace("abcabcabc","a","",[,global]).

"bcbcbc"

57> re:replace("abcabcabc","a","").

[|<<"bcabcabc">>]

最後是split:

60> re:split("abcabcabc","a").

[<<>>,<<"bc">>,<<"bc">>,<<"bc">>]

61> re:split("abcabcabc","a",).

[,"bc","bc","bc"]

文件的example多一點就好了...不然看下來真累...

網上找到個個文件 ,不過文件裡有錯 run中要匹配全部的加上global選項就可以了:

還有乙個資料 例子比較全:

《Erlang程式設計》 筆記

語法 1.模式匹配 表示乙個模式匹配操作。lhs rhs實際上是這樣乙個過程,對右端求值 rhs 然後將結果與左端 lhs 進行模式匹配。2.分號 逗號 用來分隔函式呼叫,資料構造器以及模式中的引數。句號 後跟乙個空白符號 用來在shell中分隔完整的函式和表示式。分號 用來分隔字句。如分段的函式定...

Erlang學習筆記(二)

今天在練習map對映組的時候 本人erlang版本17.01 根據 erlang程式設計 第二版這本書上操作,在取值的時候發現問題,如下 書中操作 如下圖 明顯兩個程式執行不一樣,後來看到官方文件,才發現是這個樣子 在上圖中明確指出,在map對映組中取值的時候用 取值,後來又看了看兩者區別發現兩者只...

Erlang學習筆記(一)

erlang雖然目前還不是主流語言,但有可能在未來一段時間發揮重要的作用.即使你不用erlang,也可以從erlang的設計和erlang的社群的智慧型中得到啟發,就算是從開啟思路,全面認識計算本質和平行計算特性的角度出發,erlang也值得了解.死鎖,競態,越來越多的鎖帶來了越來越複雜的問題.比如...