如何查找连续的标签

时间:2018-09-26 09:20:13

标签: ruby regex

我有一个字符串:

"hello #a and #b welcome #b #c #d and #e #f or #k"

我想要多个连续标签的序列。我想要输出:

"#b #c #d", "#e #f"

我使用了以下正则表达式:

/#\w+\s*(#\w+\s*)+(#\w+)*/

但是它不起作用。

2 个答案:

答案 0 :(得分:1)

您可以删除最后一个捕获组,并使倒数第二个为非捕获组。但随后您还将匹配尾随空白。

如果您不希望尾随空格,可以使用: #\w+(?:\s+#\w+)+

Regex demo

如果您还想匹配不带零或多次空白字符的主题标签,则可以使用\s*代替\s+

答案 1 :(得分:0)

这是你想要的吗?

((#\w+\s+){2,})

第1组有结果。