这篇“Kotlin语言编程Regex正则表达式怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Kotlin语言编程Regex正则表达式怎么使用”文章吧。
回想一下,在学Java时接触的正则表达式,其实Kotlin中也是类似。只不过使用Kotlin 的语法来表达,更为简洁。正则(Regex)用于搜索字符串或替换正则表达式对象,需要使用Regex(pattern:String)类。 在Kotlin中 Regex 是在 kotlin.text.regex 包。
构造函数 | 描述 |
---|---|
Regex(pattern: String) | 给定的字符串模式创建正则式。 |
Regex(pattern: String, option: RegexOption) | 给定的字符串模式创建一个正则式并给出单个选项 |
Regex(pattern: String, options: Set<RegexOption>) | 给定的字符串模式和给定选项集创建正则表达式 |
方法 | 描述 |
---|---|
fun containsMatchIn(input: CharSequence): Boolean | 包含至少一个输入字符 |
fun find(input: CharSequence, startIndex: Int = 0): MatchResult? | 返回输入字符序列中正则表达式的第一个匹配项,从给定的startIndex开始 |
fun findAll(input: CharSequence, startIndex: Int = 0): Sequence<MatchResult> | 返回输入字符串中所有出现的正则表达式,从给定的startIndex开始 |
fun matchEntire(input: CharSequence): MatchResult? | 用于匹配模式中的完整输入字符 |
fun matches(input: CharSequence): Boolean | 输入字符序列是否与正则表达式匹配 |
fun replace(input: CharSequence, replacement: String): String | 用给定的替换字符串替换正则表达式的所有输入字符序列 |
这里通过调用几个常见正则函数进行几组数据查找,展示常用正则表达式用法:
使用场景:判定是否包含某个字符串
val regex = Regex(pattern = "Kot") val matched = regex.containsMatchIn(input = "Kotlin") 运行结果: matched = true
使用场景:匹配目标字符串
val regex = """a([bc]+)d?""".toRegex() val matched1 = regex.matches(input = "xabcdy") val matched2 = regex.matches(input = "abcd") 运行结果: matched1 = false matched2 = true
使用场景:返回首次出现指定字符串
val phoneNumber :String? = Regex(pattern = """\d{3}-\d{3}-\d{4}""") .find("phone: 123-456-7890, e..")?.value 结果打印: 123-456-7890
使用场景:返回所有情况出现目标字符串
val foundResults = Regex("""\d+""").findAll("ab12cd34ef 56gh7 8i") val result = StringBuilder() for (text in foundResults) { result.append(text.value + " ") } 运行结果: 12 34 56 7 8
使用场景:将指定某个字符串替换成目标字符串
val replaceWith = Regex("beautiful") val resultString = replaceWith.replace("this picture is beautiful","awesome") 运行结果: this picture is awesome
以上就是关于“Kotlin语言编程Regex正则表达式怎么使用”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。