2

我正在寻找以标签开头的单词:"#yolo"

我的正则表达式非常简单:/#\w+/

这工作得很好,直到我打出以问号结尾的单词:"#yolo?".

我更新了我的正则表达式以允许单词和任何非空白字符:/#[\w\S]*/.

问题是我有时需要从以两个“#”字符开头的单词中提取匹配,直到空格,其中可能包含特殊字符或单词末尾(我需要捕获)。

示例: "##yolo?" 我想最终得到: "#yolo?"

注意:正则表达式适用于 Ruby。

PS我在这里测试这些:http ://rubular.com/

4

2 回答 2

1

关于什么

#[^#\s]+

\w^\s(ie \S) 的子集,因此您不需要两者。另外,我假设你不想#在匹配中再有 s ,所以我们使用[^#\s]which 否定空格和#字符。

于 2013-07-08T19:26:13.403 回答
1

也许这会奏效

#(#?[\S]+)
于 2013-07-08T19:26:43.963 回答