我的输入字符串=“无论文字href = \”http://somewhere.com?id = name@domain.com \“无论文字”
我需要匹配组(1)
中的整个链接http://somewhere.com?id=name@domain.com并在一个正则表达式
中匹配组(2)中的name@domain.com等电子邮件现在我使用2个matcher一个用于链接,另一个用于电子邮件,如下面
Matcher email = MAILS.matcher(string); Matcher href = LINKS.matcher(string);
问题是,为了提高效率,可以将它与一个结合起来。感谢提前
答案 0 :(得分:1)
这非常粗糙,但你可以用它来开始:
/(http:\/\/[a-z]*\.(com)\?[a-z]+=[a-z]+@[a-z]+\.(com))/i
您可以使用http://rubular.com/来测试您的表达式
答案 1 :(得分:0)
href=\\"(http://[A-Za-z0-9\.-]+\.[A-Za-z]{2,4}\?id=([A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Za-z]{2,4}))\\"
\ 1是链接
\ 2是id(电子邮件地址)
链接可以由字母,数字,。 -
链接顶级域名可以是任何2,3或4个字母的字符串。
电子邮件地址部分应该能够匹配99%的电子邮件地址。
找到关注正则表达式的精彩教程