我想要正则表达式,该正则表达式将删除字符串末尾的井号。例如:
* WCW * $ 14黑色货车(6号)* $ 8黑色鱼网外套(大号)* $ 6长颈鹿背心(尺寸小)* $ 8牛仔短裤(2号)* $ 6红色透明钱包#platosclosetmooresville #platosclosetlakenorman#转售#温柔地使用#喜欢的#湖人#摩尔诺斯维尔#MVL #LKN #fashionista #recycleyourstyle #cornelius #davidson #concord #kannapolis #statesville #salisbury #bargainista OOTD #WCW
我写了一个正则表达式来匹配主题标签。 /#[#\w\s]*\z/
。还尝试了/#[#\w\s]*$/u
。但是他们只会返回
#lknshopping #mooresvilleshopping #GetCash #SellYourItems #shopping #BargainShopper #ShopLocal #PlatosCloset#长颈鹿#OOTD #WCW
它应该捕获所有以下内容:
#platosclosetmooresville #platosclosetlakenorman#转售#gentused#心爱的#lakenorman #mooresville #MVL #LKN #fashionista #recycleyourstyle #cornelius #davidson #concord #kannapolis #statesville#salisburys#bargainista BargainShopper #ShopLocal #PlatosCloset#长颈鹿#OOTD #WCW
解决方案不应与字符串中间的主题标签匹配。
答案 0 :(得分:1)
正则表达式#[#\w\s]*\z
从匹配#
开始,然后是character class,它将匹配几个字符中的一个。该字符类被重复零次或多次,因此它也可以匹配###a bc
或仅匹配单个开始的#
如果您想匹配作为句子结尾的主题标签,并且之间不能有不是主题标签的单词,则可以使用:
#\w+(?:\s+#\w+)*\z
说明
#
字面上匹配\w+
匹配一个或多个单词字符(?:
非捕获组
\s+#\w+
一次或多次匹配空白字符,后跟#
,一次或多次匹配单词字符)*
关闭非捕获组并重复零次或多次\z
声明字符串的结尾答案 1 :(得分:0)