/(?:\s|^)(?:#(?!(?:\d+|\w+?_|_\w+?)(?:\s|$)))(\w+)(?=\s|$)/i
这是我使用的当前表达式。它工作正常,但破折号-
是不允许的。我需要这个:#what-ever
被捕获。Hashtags的正则表达式
如何将dash
添加到这个表达式中?
/(?:\s|^)(?:#(?!(?:\d+|\w+?_|_\w+?)(?:\s|$)))(\w+)(?=\s|$)/i
这是我使用的当前表达式。它工作正常,但破折号-
是不允许的。我需要这个:#what-ever
被捕获。Hashtags的正则表达式
如何将dash
添加到这个表达式中?
只需将第一个捕获组中存在的模式\w
加-
添加到字符类中即可。这样它会捕获一个字符或一个-
符号。 +
在字符类使上一个标记重复一次或多次之后。
(?:\s|^)(?:#(?!(?:\d+|\w+?_|_\w+?)(?:\s|$)))([-\w]+)(?=\s|$)
|here|
我的勇敢的武士,再次感谢你:) – 2014-09-02 07:56:18
你总是欢迎:-) – 2014-09-02 07:57:21
似乎有点复杂,你只是在寻找,在一个文本哈希标签? – Nicolas 2014-09-02 07:55:30
Yeap!标签提取。 – 2014-09-02 07:57:17