【发布时间】:2020-08-13 04:05:21
【问题描述】:
我正在制作注册表单屏幕
我制作了正则表达式模式
Pattern pattern =
r'^(?=.*[a-zA-Z])(?=.*[*".!@#$%^&(){}:;<>,.?/~_+-=])(?=.*[0-9]).{8,30}$';
问题是如果我添加 ' , [ ] 它不起作用。
如果我在 Android Studio 中添加 ' 错误(\escape 不起作用)
如果我添加 ???? [ , ] , \ , = , | ???这些字符,在 AS 中不会发生错误,但验证在 AVD 中不起作用,并且控制台说
The following FormatException was thrown while handling a gesture:
Unterminated character class^(?=.*[*.!@#$%^&(){}:;<>,?/~_+-=\]).{8,30}$
我该如何解决这个问题??
【问题讨论】:
-
你想在 regex 中加入什么?也许我们可以简化正则表达式
-
我不太确定你的问题,但我的回答是我想要密码组合正则表达式 1 个英文字符 1 个特殊字符 1 个数字至少与 8~30 个字符的组合。所以我不能简化,可以用 /w,/d 简化,但实际上,我想专注于特殊字符,因为这就是发生的问题希望你能理解我的破碎????
-
有一个元字符
\W- 它代表任何非单词字符来匹配特殊字符。例如这个 -^(?=[A-Za-z].*?[\d]{1,}.*?[\W]{1,}).*$
标签: regex forms validation flutter dart