我想从字符串中提取值。这是一个示例字符串
“示例字符串名称:Mosa电话:020202020电子邮件:email@domain.com示例字符串的其余部分”
手机不一定是数字序列(00-98550-22)或(+ 025-588)或(92122/222)
好消息是这些字段总是连续的,要么用制表符,空格字符或新行分隔。
所以我在想如何找到字段直到找到下一个字段,所以我们可以说找到姓名:然后继续直到找到电话:
我正在尝试使用正则表达式实现此目的
这是我已编写的代码,但每个字段都是单独评估的
$namepattern = "/(Name\:\s[a-zA-Z]+\s[a-zA-Z]+)/";
$phonepattern = "/(Phone\:\s\d+)/";
$emailpattern = "/(Email:\s([_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})))/";
答案 0 :(得分:0)
我正在使用这个正则表达式来匹配姓名,电话和电子邮件:
/Name:\s(.+)\sPhone:\s(\d+)\sEmail:\s([a-zA-Z0-9_-]+@[a-zA-Z0-9]+.[a-zA-Z]+)/
答案 1 :(得分:0)
这将匹配所需的
/Name:\s(.+)\s*Phone:\s(.*)\s*Email:\s([a-zA-Z0-9_.-]+@[a-zA-Z0-9]+.[a-zA-Z]+)/