如何加入两个或多个不同的正则表达式并匹配 flutter dart 中的值

how to join two or more different regex and match values in flutter dart

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

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

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 匹配的字符串,请问我该怎么做。如果您需要更多解释,请告诉我

这样做

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

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

对电子邮件做同样的事情