正則表達式是一種語法丐黄,用一個表達式,來匹配一系列的字符串
[a-z]+
一個或多個a~z范圍的26個小寫英文字母些侍,比如hello,world
正則表達式這個東西政模,語法比較多
這里呢岗宣,講解一下scala中,對這個正則表達式的支持
定義一個正則表達式淋样,使用String類的r方法
此時返回的類型是scala.util.matching.Regex
類的對象
val pattern1 = "[a-z]+".r
拿到一個正則表達式以后耗式,我們一般會用它來做什么事情?
比如趁猴,我們會用正則表達式來匹配一些字符串刊咳,比如來看看,某個字符串是否符合表達式規(guī)定的范圍之內(nèi)
比如儡司,從一個長的字符串中娱挨,提取出來,匹配正則表達式的各個部分
val str = "hello 123 world 456"
獲取一個字符串中捕犬,匹配正則表達式的部分跷坝,使用findAllIn,會獲取到一個Iterator
碉碉,迭代器
然后就可以去遍歷各個匹配正則的部分柴钻,去進行處理
for (matchString <- pattern1.findAllIn(str)) println(matchString)
同理,使用findFirstIn
垢粮,可以獲取第一個匹配正則表達式的部分
pattern1.findFirstIn(str)
使用replaceAllIn
贴届,可以將匹配正則的部分蜡吧,替換掉
pattern1.replaceFirstIn("hello world", "replacement")
使用replaceFirstIn
毫蚓,可以將第一個匹配正則的部分,替換掉
pattern1.replaceAllIn("hello world", "replacement")