1
包含一些可以在字符串中查找單個數字的代碼,如「555-555-5555」。但我不太確定如何擴展代碼以查找字符串中的所有電話號碼。代碼停止後,它發現第一個數字...電話號碼正則表達式
(defn foo [x]
(re-find (re-matcher #"((\d+)-(\d+)-(\d+))" x)))
有沒有辦法擴展此代碼來查找字符串中的所有數字?
包含一些可以在字符串中查找單個數字的代碼,如「555-555-5555」。但我不太確定如何擴展代碼以查找字符串中的所有電話號碼。代碼停止後,它發現第一個數字...電話號碼正則表達式
(defn foo [x]
(re-find (re-matcher #"((\d+)-(\d+)-(\d+))" x)))
有沒有辦法擴展此代碼來查找字符串中的所有數字?
re-seq
返回所有匹配的序列與正則表達式中的字符串:
user> (defn foo [x] (re-seq #"\d+-\d+-\d+" x))
#'user/foo
user> (foo "111-222-3333 555-666-7777")
("111-222-3333" "555-666-7777")
user> (foo "phone 1: 111-222-3333 phone 2: 555-666-7777")
("111-222-3333" "555-666-7777")
因此,這將繼續下去,直到找到字符串中的所有電話號碼。
很好的答案,只是想添加有很多手機正則表達式 - https://stackoverflow.com/questions/123559/a-comprehensive-regex-for-phone-number-validation – edbond