Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中,如何在一个正则表达式中匹配这样的字符串_Java_Regex_Email_Hyperlink - Fatal编程技术网

在java中,如何在一个正则表达式中匹配这样的字符串

在java中,如何在一个正则表达式中匹配这样的字符串,java,regex,email,hyperlink,Java,Regex,Email,Hyperlink,我的输入字符串=“任意文本href=\”http://somewhere.com?id=name@domain.com \“任何文本” 我需要匹配组(1)中的整个链接 还可以匹配电子邮件之类的name@domain.com在第(2)组中,在一个正则表达式中 现在我使用2个匹配器,一个用于链接,另一个用于电子邮件,如下所示 Matcher email=MAILS.Matcher(字符串); Matcher href=LINKS.Matcher(字符串) 问题是,为了提高效率,有可能将其合并为一个

我的输入字符串=“任意文本href=\”http://somewhere.com?id=name@domain.com \“任何文本”

我需要匹配组(1)中的整个链接

还可以匹配电子邮件之类的name@domain.com在第(2)组中,在一个正则表达式中

现在我使用2个匹配器,一个用于链接,另一个用于电子邮件,如下所示

Matcher email=MAILS.Matcher(字符串); Matcher href=LINKS.Matcher(字符串)

问题是,为了提高效率,有可能将其合并为一个


感谢您提供的预付款

这很粗糙,但您可以从以下几点开始:

/(http:\/\/[a-z]*\.(com)\?[a-z]+=[a-z]+@[a-z]+\.(com))/i

你可以用它来测试你的表达式,这很粗糙,但你可以用它来开始:

/(http:\/\/[a-z]*\.(com)\?[a-z]+=[a-z]+@[a-z]+\.(com))/i
href=\\"(http://[A-Za-z0-9\.-]+\.[A-Za-z]{2,4}\?id=([A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Za-z]{2,4}))\\"
你可以用它来测试你的表情

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%的所有电子邮件地址

有关正则表达式的精彩教程,请访问

\1是链接

\2是id(电子邮件地址)

该链接可以由字母、数字、-

链接顶级域可以是任何2、3或4个字母的字符串

电子邮件地址部分应该能够匹配99%的所有电子邮件地址


关于正则表达式的一个很好的教程可以在

上找到,它有点简单。如果你开始对
URL
可能包含的字符感到恐慌,试着猜一下它不包含哪些字符(比如空格,但这取决于你的URL是否编码了)。这有点简单。如果您开始对
URL
可能包含的字符感到恐慌,请尝试猜测它不包含的字符(如空格,但这取决于您的URL是否编码)为什么要使用Ruby Web服务来测试Java正则表达式?为什么不?regex它不仅仅是java为什么要使用Ruby Web服务来测试java正则表达式?为什么不呢?regex它不仅仅是java