我需要编写一个正则表达式,只能使用大写字母和撇号来捕获主题标签。
例如,"#([A-Z'] +)"将抓住"#IS"来自以下示例:
#IS your glass half-full or half-empty?
但不幸的是,我们也会抓住###I"在这个例子中
#Is your glass half-full or half-empty?
我试过这个:"#([A-Z] + [^ a-z] +)"但它抓住了#34;#II"
#IIs your glass half-full or half-empty?
我使用python,还有其他聪明的方法来解决这个问题,但我更喜欢正则表达式解决方案
答案 0 :(得分:1)
使用\b
表示单词边界。然后,只会匹配以#
开头且可能包含'
的全部大写单词:
"((\s|^)#[A-Z']+\b)"
答案 1 :(得分:0)
这可能对您有所帮助
^[A-Z]+$
答案 2 :(得分:0)
这将在输入中找到所有大写字母
([A-Z])\w+