首页 > 解决方案 > 如何在颤振飞镖中加入两个或多个不同的正则表达式并匹配值

问题描述

我正在尝试使用正则表达式匹配电子邮件地址和手机号码,我希望它检查是否匹配单个字符串中的电子邮件、手机号码或两者

号码正则表达式:这与我所在国家/地区的手机号码匹配

Pattern pattern = r'(^(?:[+0]9)?[0-9]{11,}$)';
RegExp regex = new RegExp(pattern);

电子邮件正则表达式:这是匹配电子邮件地址的正则表达式,适用于我

Pattern pattern =
        r'^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$';
RegExp regex = new RegExp(pattern);

如果这是我想匹配它的字符串,我该String sentence = "My email example@gmail.com and my mobile number is 09056783431 怎么做。如果您需要更多解释,请告诉我

标签: regexflutterdartmatch

解决方案


像这样做

final numberRegex = new RegExp(r'(^(?:[+0]9)?[0-9]{11,}$)');

if(numberRegex.hasMatch(myMobileNumber)) print ('True')
else print ('Mobile number format is incorrect')

用电子邮件做同样的事情


推荐阅读