【问题标题】:how to add ', [] regex special characters in flutter如何在颤振中添加',[]正则表达式特殊字符
【发布时间】: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


【解决方案1】:

你应该能够通过连接你的正则表达式来解决这个问题

Pattern pattern = r'^(?=.*[a-zA-Z])(?=.*[*".!@#\$%^&(){}:;<>,.\' + r"'?/~_+-=])(?=.*[0-9]).{8,30}\$";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-19
    • 1970-01-01
    • 2018-06-13
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多