十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
前言

對于正則表達(dá)式,相信很多人都知道,但是很多人的第一感覺就是難學(xué),因?yàn)榭吹谝谎蹠r(shí),覺得完全沒有規(guī)律可尋,而且全是一堆各種各樣的特殊符號(hào),完全不知所云。
其實(shí)只是對正則不了解而以,了解了你就會(huì)發(fā)現(xiàn),原來就這樣啊~~正則所用的相關(guān)字符其實(shí)不多,也不難記,更不難懂,唯一難的就是組合起來之后,可讀性比較差,而且不容易理解,最近在學(xué)習(xí)kotlin,Kotlin 提供了一個(gè)正則表達(dá)式類 Regex,下面來一起學(xué)習(xí)下吧。
Regex 提供了豐富而簡單實(shí)用的函數(shù)。
| 函數(shù)名稱 | 功能說明 |
|---|---|
| matches(input: CharSequence): Boolean | 輸入字符串全部匹配 |
| containsMatchIn(input: CharSequence): Boolean | 輸入字符串至少有一個(gè)匹配 |
| matchEntire(input: CharSequence): MatchResult? | 輸入字符串全部匹配,返回一個(gè)匹配結(jié)果對象 |
| replace(input: CharSequence, replacement: String): String | 把輸入字符串中匹配的部分替換成replacement的內(nèi)容 |
| replace(input: CharSequence, transform: (MatchResult) -> CharSequence): String | 把輸入字符串中匹配到的值,用函數(shù) transform映射之后的新值替換 |
| find(input: CharSequence, startIndex: Int = 0): MatchResult? | 返回輸入字符串中第一個(gè)匹配的值 |
| findAll(input: CharSequence, startIndex: Int = 0): Sequence |
返回輸入字符串中所有匹配的值MatchResult的序列 |
matches
輸入的字符串全部匹配“正則表達(dá)式”返回 true,否則返回 false。
val r1 = Regex("[a-z]+")
println(r1.matches("ABCdef"))
val r2 = Regex("[a-z]+", RegexOption.IGNORE_CASE) //忽略大小寫
println(r2.matches("ABCdef"))
val r3 = Regex("[A-Z]+")
println(r3.matches("ABC"))
val r4 = "[A-Z]+".toRegex()
println(r4.matches("ABCDEFXYZ"))