使用 Java Matcher 类匹配开始和结束字符

我想从#space.开头和结尾的字符串中获取单词。我试过使用它,Pattern.compile("#\\s*(\\w+)")但它不包含像'或这样的字符:

我想要只有模式匹配方法的解决方案。


犯罪嫌疑人X
浏览 210回答 2
2回答

慕田峪9158850

我们可以尝试使用 pattern 进行匹配(?<=\\s|^)#\\S+,它会匹配任何以 开头的单词#,后跟任意数量的非空白字符。String line = "Here is a #hashtag and here is #another has tag.";String pattern = "(?<=\\s|^)#\\S+";Pattern r = Pattern.compile(pattern);Matcher m = r.matcher(line);while (m.find()) {&nbsp; &nbsp; System.out.println(m.group(0));}#hashtag#another

梵蒂冈之花

\sis的反面\S,所以你可以使用这样的正则表达式:#\s*(\S+)或者对于 Java:Pattern.compile("#\\s*(\\S+)")它将捕获任何不是空白的东西。如果你想停在空格字符,而不是任何空白变化\S来[^ ]。在^括号内意味着它将否定后,无论发生什么事。Pattern.compile("#\\s*([^&nbsp;]+)")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java