2014-09-02 50 views
0
/(?:\s|^)(?:#(?!(?:\d+|\w+?_|_\w+?)(?:\s|$)))(\w+)(?=\s|$)/i 

這是我使用的當前表達式。它工作正常,但破折號-是不允許的。我需要這個:#what-ever被捕獲。Hashtags的正則表達式

如何將dash添加到這個表達式中?

+0

似乎有點複雜,你只是在尋找,在一個文本哈希標籤? – Nicolas 2014-09-02 07:55:30

+0

Yeap!標籤提取。 – 2014-09-02 07:57:17

回答

1

只需將第一個捕獲組中存在的模式\w-添加到字符類中即可。這樣它會捕獲一個字符或一個-符號。 +在字符類使上一個標記重複一次或多次之後。

(?:\s|^)(?:#(?!(?:\d+|\w+?_|_\w+?)(?:\s|$)))([-\w]+)(?=\s|$) 
              |here| 

DEMO

+0

我的勇敢的武士,再次感謝你:) – 2014-09-02 07:56:18

+0

你總是歡迎:-) – 2014-09-02 07:57:21

相關問題