我正在尝试提取所有主题标签
允许使用特殊字符,直到它到达空格/ hastag /换行符
以下是我目前的正则表达式:\#{1}(\S|\N)
我尝试将其更改为\#{1}.+(\S|\N)
,因为我认为.+
将允许它保持匹配,直到它到达新的行或空格
======================TESTHASH========================
#3!x_j@`(/l3W#qfSnl#6R7x1b,jBb0p#Oq/:o#!tH3AITK^Yyp#B,
#qwe#%#T &#v#v#N###O###2#` `S}^&9 #M # Aa23%2##p#?#w#a
#123#9#Z a%h#&#C###;###? a#u#g#Q#r#8# #a#A#l#p#r#b#}#c
#R#M#(#p###K###l###1###b 2#D\'>.w/Y_2 sha2&2{] #4x$D~kR
#lbTb1k3# #Dlo ## #j# #W H#tjsR.Lzkc #B*xt&nFty?il#jp
#>p8BTU2###PW!aB###z###-VM (s82hdk#T 8sUJWfuy2#-#f~fh)
#d{jyi|^ofYD#q)!#special~!@$%^&*()#_+`-=[];\',./?><\":}{
======================TESTHASH========================
答案 0 :(得分:3)
我对你的正则表达式进行了一些修改,以使它与这些匹配:
这是正则表达式:
\#.*?(?=\s|\n|\#|$)
我做出的改变:
使用了懒惰的&#34;零或更多&#34;量词*?
。这意味着它将保持匹配,直到(?=\s|\n|\#|$)
不为真,而使用贪婪的量词,它将一直匹配到行尾,然后回溯直到(?=\s|\n|\#|$)
为真。
已移除{1}
,这是不必要的
\#
和$
。它们是遇到的角色,应该停止比赛。#
。答案 1 :(得分:3)
#[^#\s\n]+
怎么样?
##
长度为零的两个主题标签,还是零标签?#[^#\s\n]*
等同于Sweeper的正则表达式,但没有预见。{{1}另外要求主题标签后面没有零个字符。) 这是#[^#\s\n]+
匹配的内容:
似乎暗中拼出了&#34; NICE&#34 ;;我想知道这是一个练习,你是否正在使用StackOverflow为你思考? : - )
答案 2 :(得分:0)
\#[^\s\#]*(\s|\#)
匹配一个#后跟除空白之外的任意数量的字符和#后跟一个空格或#
这应该有效