我的正则表达式有问题:
String regex = "(?<=[\\s])#\\w+\\s";
我想要一个格式化字符串的正则表达式:
"This is a Text #tag1 #tag2 #tag3"
使用正则表达式,我得到最后两个值作为结果而不是tag1 - 因为有多个空格。但我想要所有3个人!
我尝试了一些变化,但没有任何效果。
答案 0 :(得分:2)
答案 1 :(得分:2)
你的问题有点不清楚你真正追求的是什么,所以我提出了一些简单的选择:
要捕获字符串中的所有标记,我们可以使用lookbehind:
((?<=\\s|^)#\\w+)
要捕获字符串末尾的所有标记,我们可以使用前瞻:
(#\\w+(?=\\s#)|#\\w+$)
如果最后总是有三个标签,则无需查看:
(#\\w+)\s(#\\w+)\s(#\\w+)$