R:Twitter主题标签的正则表达式?

时间:2018-04-14 03:44:13

标签: r regex

我正在努力想出一个与Twitter主题标签相匹配的正则表达式。 Twitter主题标签具有以下规则:

1)它们不能包含空格,

2)它们不能包含标点符号

3)他们不能以数字开头或仅使用数字。

这是我到目前为止所提出的问题,但它仍然存在空格和标点字符问题:

"#{1}[^0-9]*[^[::punct::]\\s]*?[A-z0-9]*?"

感谢任何帮助。谢谢!

2 个答案:

答案 0 :(得分:-1)

你的正则表达式看起来有点复杂,你只需要匹配#然后是一个字母,然后是字母数字字符。

您也不需要为单个字符量词。这应该有效:

#[a-zA-Z]\w*

如果您不允许下划线(它们是推文中的合法字符),请改用:

#[a-zA-Z][\da-zA-Z]*

看起来标签的真实规格却是下划线和数字在任何地方都有效,只要它们至少是一个字母。

所以这会更好:

#\w*[a-zA-Z]\w*

答案 1 :(得分:-1)

此正则表达式仅捕获有效的主题标签:

(#[a-zA-Z]+[\w]?)(?:\s|$)