首页 > 解决方案 > 如何在颤振中添加',[]正则表达式特殊字符

问题描述

我正在制作注册表单屏幕

我制作了正则表达式模式

    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}$

我怎样才能解决这个问题??

标签: regexformsvalidationflutterdart

解决方案


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

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

推荐阅读