Joh*_*omy 5 regex string dart flutter
我想检查一个字符串是否只包含:
在 Flutter 中,我尝试了以下方法来仅获取字母,但即使存在其他字符,如果它包含字母,它也会返回 true:
String mainString = "abc123";
print(mainString.contains(new RegExp(r'[a-z]')));
Run Code Online (Sandbox Code Playgroud)
正如我所说,它会返回,true因为它包含字母,但我想知道它是否只包含字母。
有没有办法做到这一点?
jam*_*lin 22
您的问题RegExp是您允许它匹配子字符串,并且您只匹配单个字符。您可以强制它要求整个字符串与^和匹配$,并且您可以使用 与一个或多个表达式匹配+:
print(RegExp(r'^[a-z]+$').hasMatch(mainString));
Run Code Online (Sandbox Code Playgroud)
要匹配您提到的所有字符:
print(RegExp(r'^[A-Za-z0-9_.]+$').hasMatch(mainString));
Run Code Online (Sandbox Code Playgroud)