对于正则表达式,相信很多人都知道,但是很多人的第一感觉就是难学,因为看第一眼时,觉得完全没有规律可寻,而且全是一堆各种各样的特殊符号,完全不知所云。
其实只是对正则不了解而以,了解了你就会发现,原来就这样啊~ ~正则所用的相关字符其实不多,也不难记,更不难懂,唯一难的就是组合起来之后,可读性比较差,而且不容易理解,最近在学习芬兰湾的科特林,芬兰湾的科特林提供了一个正则表达式类正则表达式、下面来一起学习下吧。
函数名称
功能说明
匹配(输入:CharSequence进行):布尔
输入字符串全部匹配
containsMatchIn(输入:CharSequence进行):布尔
输入字符串至少有一个匹配
matchEntire(输入:CharSequence进行):MatchResult& # 63;
输入字符串全部匹配,返回一个匹配结果对象
替换(输入:CharSequence进行替换:字符串):字符串
把输入字符串中匹配的部分替换成替代的内容
替换(输入:CharSequence进行变换:(MatchResult)→CharSequence进行):字符串
把输入字符串中匹配到的值,用函数变换映射之后的新值替换
找到(输入:CharSequence进行startIndex: Int=0): MatchResult& # 63;
返回输入字符串中第一个匹配的值
findAll(输入:CharSequence进行startIndex: Int=0): Sequence
输入的字符串全部匹配”正则表达式”返回真,否则返回错误的。
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”))
运行结果
假 真正的 真正的 真正的
输入的字符串中至少有一个匹配就返回真,否则就返回错误的。
val r5=Regex ([0 - 9] +) println (r5.containsMatchIn (“012”abdc)) println (r5.containsMatchIn (“JAVAI”))
运行结果
真正的 假
对字符串全部做比较,都匹配正则表达式返回一个MatcherMatchResult对象,否则返回零。
val r6=Regex ([0 - 9] +) println (r6.matchEntire (“1234567890”)) println (r6.matchEntire (“1234567890 !”) println (r6.matchEntire (“1234567890”) & # 63; value)
当我们使用MatcherMatchResult的价值值来显示匹配结果,由于matchEntire函数有可能返回一个null,所以这里使用了安全调用符号“?”。
运行结果
kotlin.text.MatcherMatchResult@1fb3ebeb 零 1234567890
<代码>替换(输入:CharSequence进行替换:字符串):字符串代码>
输入的字符串匹配的部分替换成替代的内容。
val r7=Regex ([0 - 9] +) println (r7。替换(“12345 xyz33”、“abcd”))
这个例子是把数字替换成了abcd。
函数签名<代码>替换(输入:CharSequence进行变换:(MatchResult)→CharSequence进行):字符串代码>
它的功能是把输入的字符串中匹配的值,用函数变换映射之后的新值进行替换。
val r8=Regex ([0 - 9] +) println (r8。替换(12 xyz9 {(it.value.toInt () * it.value.toInt ()) .toString ()}))
我们可以看的到,输入的字符串中有两个数字,一个是12在字符串的前部,一个是9在字符串的后部。
运行结果
144年xyz81
12被替换成144了,9被替换成81了。
返回字符串中第一个匹配的MatcherMatchResult对象
val r9机型=Regex ([0 - 9] +) println (r9.find (“123”adpoiw87weeruu005)) println (r9.find (“123”adpoiw87weeruu005) & # 63; value)芬兰湾的科特林利用正则表达式如何构建正则表达式详解