REGEX - 链接与主题标签冲突
REGEX - links vs hashtags conflict
我正在使用一些正则表达式从我从 API(推特、facebook、..)获得的文本中转换 links、主题标签、提及等
效果很好,但在 link 中有锚点 # 的特殊情况下,第一个模式先转换 link 然后再转换link 标签内的 hastag - 例如转换:
一团糟。
我只是希望 Twitter 主题标签的正则表达式不匹配 link -(例如,如果它包含一个点)
hello#music -> match
#hello#music -> match
hello.com#music -> no match
我正在使用负前瞻来解决类似的问题,但我无法理解:
((?!\.)#.*\w*[a-zA-Z_]+\w*)
我想你想要这样的东西,
^(?!.*?\.).*?(#.*\w*[a-zA-Z_]+\w*)
从组索引 1 获取主题标签。
或
^.*?\..*$|(#\w*[a-zA-Z_]+\w*)
我建议在此处使用此正则表达式使事情简单化:
^[^.\n]+#([^#.\n]+)
我正在使用一些正则表达式从我从 API(推特、facebook、..)获得的文本中转换 links、主题标签、提及等
效果很好,但在 link 中有锚点 # 的特殊情况下,第一个模式先转换 link 然后再转换link 标签内的 hastag - 例如转换:
一团糟。
我只是希望 Twitter 主题标签的正则表达式不匹配 link -(例如,如果它包含一个点)
hello#music -> match
#hello#music -> match
hello.com#music -> no match
我正在使用负前瞻来解决类似的问题,但我无法理解:
((?!\.)#.*\w*[a-zA-Z_]+\w*)
我想你想要这样的东西,
^(?!.*?\.).*?(#.*\w*[a-zA-Z_]+\w*)
从组索引 1 获取主题标签。
或
^.*?\..*$|(#\w*[a-zA-Z_]+\w*)
我建议在此处使用此正则表达式使事情简单化:
^[^.\n]+#([^#.\n]+)