Zeb*_*eba 2 java regex android regex-negation kotlin
我正在使用正则表达式来验证我的Android应用程序中的用户输入。
我的业务要求是,不允许用户仅输入空格或数字,而应允许输入空格和数字。
目前,我正在使用正则表达式作为
^(?![0-9 ]+$).*$
Run Code Online (Sandbox Code Playgroud)
上面的reqex对于要求#1和#2正常工作,但是对于要求#3失败,因为它不允许用户一起输入空格和数字。
有人可以帮我改善我的reqex,以满足我的要求.....
在此先感谢!
您可以使用
^(?!(?:[0-9]+| +)$).*$
Run Code Online (Sandbox Code Playgroud)
或者,支持任何空格
^(?!(?:[0-9]+|\s+)$).*$
Run Code Online (Sandbox Code Playgroud)
在Kotlin中使用
" 1 2".matches(Regex("""(?!(?:[0-9]+|\s+)$).*""")) // true
Run Code Online (Sandbox Code Playgroud)
另外,您可以使用^(?:[0-9]+|\s+)$pattern并取反结果:
if (" ".matches(Regex("""[0-9]+|\s+"""))) {
println( "INVALID" )
} else {
println( "VALID" )
}
Run Code Online (Sandbox Code Playgroud)
由于.matches()需要一个完整的字符串匹配,不需要^(?:和)$上面的图案。
| 归档时间: |
|
| 查看次数: |
59 次 |
| 最近记录: |