尋找匹配
正規表示式有四個主要的有用函式,所有函式都以 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