java 中一个简单的正则表达式问题,帮忙看下.

2019-03-25 13:51|来源: 网路

哪位朋友帮忙看一下.这个正则表达式:
String regex = "mailto:\\w+\\?";


匹配下面这段内容为什么匹配不到..

mailto:34553234@qq.com?cc=zhoueyese7290783@126.com&subject=applicationID:10001-action:approver&body=特别无聊.


           String regex = "mailto:\\w+\\?";
           Pattern pattern = Pattern.compile(regex);
           Matcher matcher = pattern.matcher(contentItem.getSubject());         

           if(matcher.find()){
System.out.println("email:"+matcher.group()); //按理说,应该要打印出"34553234@qq.com"
  }

问题补充:
saintshi123 写道
把\\w改为[.]就应该可以了




还想问一下,如果要获得红色部分的字符串.
String emailContent_regex = "\\<mailto:\\w+.*\\w*\\>";
这样写,应该是没有问题吧?

请WERWERWERWE点击FSDFSWERWERWERR链接:mailto:tomcat@resilient-sss.com?cc=haitao7290783@163.com&subject=applicationID:10004-action:reject&body=aaAA为我特沃尔沃尔别无聊,我只是测试sdfsrwerwe wer w沃尔沃尔er sdfasdfasdf asf wer wer DSSFSDFsdfsdabsfsd werwer wewer,wer wer wer wer dfsdf sd w恶妇人沃尔我认  撒地方撒旦里面吗,,, 我。。。沃尔沃尔沃尔,,,为人沃尔沃尔撒地方撒旦沃尔,wer werw用的 <mailto:tomcat@resilient-sss.com?cc=haitao7290783@163.com&subject=applicationID:10004-action:reject&body=aaAA为我特沃尔沃尔别无聊,我只是测试sdfsrwerwe wer w沃尔沃尔er sdfasdfasdf asf wer wer DSSFSDFsdfsdabsfsd werwer wewer,wer wer wer wer dfsdf sd w恶妇人沃尔我认? 撒地方撒旦里面吗,,, 我。。。沃尔沃尔沃尔,,,为人沃尔沃尔撒地方撒旦沃尔,wer werw用的> sadfasdf.
沃尔沃尔沃尔沃尔
#######dsfdfsd

相关问答

更多
  • 正则表达式的主要用法就是判断某个字符串是否符合某个固定的格式,以下是电话号码的格式判断: BufferedReader in;   Pattern pattern = Pattern.compile("//(//d{3}//)//s//d{3}-//d{4}");   in = new BufferedReader(new FileReader("18046521658"));   String s;   while ((s = in.readLine()) != null)   {   Matcher m ...
  • java.util.regex.Pattern返回由此匹配器解释的模式 java.util.regex.Matches ###regex里没有Matcher方法 尝试将整个区域与模式匹配。 如果匹配成功,则可以通过 start、end 和 group 方法获取更多信息。 返回: 当且仅当整个区域序列匹配此匹配器的模式时才返回 true。
  • java正则表达式[2023-08-29]

    ^ 和 $ 他们是分别用来匹配字符串的开始和结束,以下分别举例说明: "^The": 开头一定要有"The"字符串; "of despair$": 结尾一定要有"of despair" 的字符串; 那么, "^abc$": 就是要求以abc开头和以abc结尾的字符串,实际上是只有abc匹配。 "notice": 匹配包含notice的字符串。 你可以看见如果你没有用我们提到的两个字符(最后一个例子),就是说 模式(正则表达式) 可以出现在被检验字符串的任何地方,你没有把他锁定到两边。 接着,说说 '*', ...
  • 这边写着很多正则不表达式的应用。呵呵 http://java.bootcamp.cn/viewthread.php?tid=206&highlight=%D5%FD%D4%F2%B1%ED%B4%EF%CA%BD
  • http://www.ccw.com.cn/htm/app/aprog/01_7_31_4.asp 内容太多,不写了,自己去看看吧
  • 给我邮箱,我发一份资料给你,是关于正则表达式的基础,也算挺详细的!
  • 一个正则表达式,就是用某种模式去匹配一类字符串的一个公式。 正则表达式严格说起来是一个抽象的数学概念,这个东西和SQL语句一样,其实各个语言的实现版本基本上都是相同的,无论是java还是perl、js、vb等语言,他们提供的正则表达式核心都是相同的,只是执行的函数、调用的语法、返回匹配项的获取有一些语法规则上的区别。
  • java正则表达式[2022-01-30]

    ^ 和 $ 他们是分别用来匹配字符串的开始和结束,以下分别举例说明: "^The": 开头一定要有"The"字符串; "of despair$": 结尾一定要有"of despair" 的字符串; 那么, "^abc$": 就是要求以abc开头和以abc结尾的字符串,实际上是只有abc匹配。 "notice": 匹配包含notice的字符串。 你可以看见如果你没有用我们提到的两个字符(最后一个例子),就是说 模式(正则表达式) 可以出现在被检验字符串的任何地方,你没有把他锁定到两边。 接着,说说 '*', ...
  • 我举例说明: x(?=y) ▲表示:右边紧跟y的x,但只包含x,不包含y x(?=y|z) ▲表示:右边紧跟y或z的x,但只包含x,不包含y或z x(?!y) ▲表示:右边不跟y的x,只包含x 你的这个正则表达式完全正确: ,(?=[^\"]+?\",|[^\"]+?\"$) ▲它只匹配1个, ▲▲但条件是: ▲条件1▲:此,右边到第1个",之间有至少1个不是"的字符 ▲条件2▲:此,右边到结尾的"之间有至少1个不是"的字符 举例说明: 它匹配下面3行中的前2个, (每次匹配1个,而不是同时匹配前2个) x ...
  • 就是检查字符串是否符合某个格式 看我的例子 public class Judge { public static void main(String[] args) { String a="\\w{0,}\\@?\\w{0,}\\.{1,}\\w{0,}"; String str1="aaaa@"; String str2="aaaa"; String str3="aaaaa@111.com"; if(str1.matches(a)){ System.out.println(str1+"是1个E—mail地址 ...