我正在尝试在 Python 中创建一个匹配#hashtags 的正则表达式。我对主题标签的定义是:
- 这是一个从一个开始的作品
#
- 它可以包含所有字符,除了
[ ,\.]
- 它可以在文本中的任何位置
所以在本文中
#This string cont#ains #four, and #only four #hashtags.
这里的哈希是This
,four
和。only
hashtags
我遇到的问题是对行首的可选检查。
[ \.,]+
不会这样做,因为它与可选的开头不匹配。[ \.,]?
不会这样做,因为它匹配太多。
带有 + 的示例
In []: re.findall('[ \.,]+#([^ \.,]+)', '#This string cont#ains #four, and #only four #hashtags.')
Out[]: ['four', 'only', 'hashtags']
示例与?
In []: re.findall('[ \.,]?#([^ \.,]+)', '#This string cont#ains #four, and #only four #hashtags.')
Out[]: ['This', 'ains', 'four', 'only', 'hashtags']
optional 如何匹配行首?