VB正则表达式("((-)?\d+(.)?\d*)")是表示啥意思?只匹配数字吗?其中的(.)是啥意思?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB正则表达式("((-)?\d+(.)?\d*)")是表示啥意思?只匹配数字吗?其中的(.)是啥意思?相关的知识,希望对你有一定的参考价值。
(.) 匹配除“\\n”之外的任何单个字符。
("((-)?\\d+(.)?\\d*)")'最外层 首先是引号引着的
((-)?\\d+(.)?\\d*) 直接去括号
(-)?\\d+(.)?\\d*
(-)? 代表 0-1 个 - 号
\\d+ 代表 1个以上数字
(.)? 代表 0-1个 除换行号以处的任意字符
\\d* 代表 0-N 多次的数字
给你一个小工具 自己写的 学习正则用的
点 表示匹配可视字符,比如换行符不可视。
这个表达式有点缺陷,如果“4566中国” ,它会匹配“4566中” ,其中 (.)? 匹配“中”,所以最好改为 (-)? 参考技术B .
(.)
就是小数点
这个就是可正负可带小数点 类似浮点数追问
. 不是匹配除换行符以外的任意字符吗?小数点不是应该\. ?还是()有特殊的功能
正则表达式(Kotlin)
课题
- 使用正则表达式匹配字符串
使用正则表达式 "\d{3}-(\d{4})-\d{2}" 匹配字符串 "123-4567-89"
返回匹配结果:’"123-4567-89" 以及 "4567" - 使用正则表达式替换字符串
使用正则表达式 "\d+" 匹配字符串 "123-4567-89"
将匹配结果即三个数字串全部翻转过来,返回结果 "321-7654-98"。 - 使用正则表达式分割字符串
使用正则表达式 "%(begin|next|end)%" 分割字符串"%begin%hello%next%world%end%"
返回正则表达式分隔符之间的两个字符串 "hello" 和 "world"。
Kotlin
fun main(args: Array<String>) {
val s = "123-4567-89"
val r = Regex("\\d{3}-(\\d{4})-\\d{2}")
val m = r.find(s)
if (m != null)
for (kv in m.groupValues.withIndex())
println("group ${kv.index} : ${kv.value}")
val r2 = Regex("\\d+")
val s2 = r2.replace(s) {
it.groupValues[0].reversed()
}
println(s2)
val r3 = Regex("%(begin|next|end)%")
val s3 = "%begin%hello%next%world%end%"
println(r3.split(s3))
}
/*
group 0 : 123-4567-89
group 1 : 4567
321-7654-98
[, hello, world, ]
*/
以上是关于VB正则表达式("((-)?\d+(.)?\d*)")是表示啥意思?只匹配数字吗?其中的(.)是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章