是否有可能编写一个正则表达式公式,它可以捕获多个单词字符加上-
前导#
但如果#
在几个单词的末尾用空格分隔,那么捕获开始和结束之间的整个文本#
?
我相信我的代码比我的描述更容易理解:
import re
s = """
this is a dummy #text with some #dummy_short-tags
and a #full length long tag# that has closing symbol.
"""
print re.findall(r'#([\w-]+)', s)
# --> ['text', 'dummy_short-tags', 'full']
print re.findall(r'#(.+)?(?<!\s)#', s)
# --> ['full length long tag']
我可以将上面的两个正则表达式合二为一吗?因此,我可以避免同时捕获“完整”和“全长标签”,而且我的目标是将捕获的文本视为一种数据。
提前致谢!