kotlin 正则表达式校验是否为数字
时间: 2023-05-21 17:03:50 浏览: 452
可以使用如下的正则表达式进行校验:
```kotlin
val regex = Regex("\\d+")
val input = "12345"
val isNumber = regex.matches(input)
```
其中,`\d+` 表示匹配一个或多个数字,`matches()` 方法返回一个布尔值,表示输入字符串是否符合正则表达式的规则。
相关问题
kotlin 正则校验url格式 代码
以下是使用正则表达式校验URL格式的Kotlin示例代码:
```kotlin
fun isValidUrl(url: String): Boolean {
val regex = Regex(
"""^https?:// # http:// 或 https:// 开头
(?:(?:[A-Z0-9_](?:[A-Z0-9_-]{0,61}[A-Z0-9_])?\.)+(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}\.?)| # 域名部分
localhost| # 或者是本地地址
\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}) # 或者是IP地址
(?::\d+)? # 端口号(可选)
(?:/?|[/?]\S+)$""", RegexOption.IGNORE_CASE or RegexOption.COMMENTS
)
return regex.matches(url)
}
// 测试示例
println(isValidUrl("http://www.example.com")) // true
println(isValidUrl("https://example.com/path/to/page.html")) // true
println(isValidUrl("ftp://example.com/path/to/file.txt")) // false
println(isValidUrl("http://localhost:8080")) // true
println(isValidUrl("http://127.0.0.1")) // true
```
该函数使用了一个较为复杂的正则表达式,可以较为准确地校验URL的格式。其中,该正则表达式包含以下几个部分:
1. `^https?://`:以 `http://` 或 `https://` 开头。
2. `(?:...|...)`:表示两个或多个可选的匹配项。
3. `[A-Z0-9_](?:[A-Z0-9_-]{0,61}[A-Z0-9_])?\.`:匹配域名中的一级和多级子域名,例如 `www.`、`blog.` 等。
4. `(?:[A-Z]{2,6}\.?|[A-Z0-9-]{2,}\.?)`:匹配顶级域名,例如 `.com`、`.co.uk` 等。
5. `localhost`:匹配本地地址。
6. `\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}`:匹配IP地址。
7. `(?::\d+)?`:匹配可选的端口号。
8. `(?:/?|[/?]\S+)$`:匹配可选的路径和查询参数。
如果URL符合以上规则,则返回 `true`,否则返回 `false`。
阅读全文