尋找匹配

正規表示式有四個主要的有用函式,所有函式都以 needle, haystack 順序接受引數。術語草堆來自英語成語在大海撈針。在正規表示式的背景下,正規表示式是針,文字是大海撈針。

match 函式可用於查詢字串中的第一個匹配項:

julia> match(r"(cat|dog)s?", "my cats are dogs")
RegexMatch("cats", 1="cat")

matchall 函式可用於查詢字串中正規表示式的所有匹配項:

julia> matchall(r"(cat|dog)s?", "The cat jumped over the dogs.")
2-element Array{SubString{String},1}:
 "cat" 
 "dogs"

ismatch 函式返回一個布林值,指示是否在字串中找到匹配項:

julia> ismatch(r"(cat|dog)s?", "My pigs")
false

julia> ismatch(r"(cat|dog)s?", "My cats")
true

eachmatch 函式返回 RegexMatch 物件上的迭代器,適用於 for 迴圈

julia> for m in eachmatch(r"(cat|dog)s?", "My cats and my dog")
           println("Matched $(m.match) at index $(m.offset)")
       end
Matched cats at index 4
Matched dog at index 16