【发布时间】:2022-02-03 12:10:24
【问题描述】:
我正在尝试将 Java 正则表达式转换为 Flutter(Dart) 正则表达式,但我遇到了问题。
我的 Java 代码和正则表达式示例,女巫返回匹配:
public static void main(String[] args) {
String EMAIL_VALIDATION_REGEX = "^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7}$";
String email = "testemail@gmail.com";
if(!Pattern.matches(EMAIL_VALIDATION_REGEX, email)) {
System.out.println("Not matching!");
}else {
System.out.println("Matching!");
}
}
我的 Flutter 代码示例女巫返回 Not Matching:
final RegExp _emailRegex = RegExp(
r"^[a-zA-Z0-9_+&*-]+(?:\\.[a-zA-Z0-9_+&*-]+)*@(?:[a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,7}$",
caseSensitive: false,
multiLine: false);
final String _email = "testemail@gmail.com";
if (!_emailRegex.hasMatch(_email)) {
print("Not Matching!");
} else {
print("Matching!");
}
我基本上复制了我在 java 中使用的正则表达式并添加了 r 作为前缀。有人可以帮我找出这段代码的问题吗?
【问题讨论】: