use*_*230 0 javascript java regex string pattern-matching
我有一个要求,在包含字段的请求中,我的其余web服务进入.
在我的web服务中,我必须检查此字段,如果验证通过,则我将请求发送给第三方服务.
验证要求:
message_from字段包含email addressas string.我必须检查domain name(之后的所有内容@)是否是roin.com
例如:abc@roin.com传球,john_mandoza@roin.com传球,john_manodza@google.com失败......
我可以使用模式匹配器或其他任何方法进行此验证吗?
我已经使用字符串解析来捕获所有内容(@),然后equalsIgnoreCase进行比较roin.com
这种字符串解析方法有效,但还有更好的方法吗?
你可以尝试这种模式(\\S+?@roin\\.com): -
\\S+ 用于匹配任何非空格字符?之后\\S+用于做不情愿的匹配.它将匹配最少数量的字符以满足模式\\. 用于匹配 ..是Regex中的一个特殊字符,因此我们需要将其转义为与文字匹配.所以,这是代码: -
String str = "abc@roin.com";
Pattern pattern = Pattern.compile("\\S+?@roin\\.com");
Matcher matcher = pattern.matcher(str);
if (matcher.matches()) {
System.out.println("Matches"); // Prints this for this email
}
Run Code Online (Sandbox Code Playgroud)