我查看过以前的问题和答案,但是他们没有解决以下问题:
https://stackoverflow.com/questions/ask#notHashTag
我最接近的是:(^#|(?:\s)#)(\w+)
,它在一半必要的情况下找到主题标签,并且还包括返回文本中的前导空格。以下是需要匹配的所有案例:
#hashtag
a #hashtag
a #hashtag world
cool.#hashtag
##hashtag, but only until the comma and starting at second hash
#hashtag#hashtag two separate matches
应该跳过这些:
https://stackoverflow.com/questions/ask#notHashTag
Word#notHashTag
#ab is too short to be a hashtag, 3 characters minimum
答案 0 :(得分:2)
这应该适用于除#hashtag#duplicates
以外的所有内容,并且由于JS不支持lookbehind,因此可能无法自行匹配。
\B#\w{3,}
\B
旨在仅匹配两个单词字符或两个非单词字符。由于#
是非单词字符,因此强制匹配前面有空格或标点符号或字符串的开头。
答案 1 :(得分:0)