import re
text123 = "test, test12, #test3, #test4 - : test555"
print(re.findall(r"#.*[^a-zA-Z\d\s:]", text123))
# expected ['#test3', '#test4']
# result ['#test3, #test4 -']
print(re.findall(r"#.*[^a-zA-Z\d]", text123))
# expected ['#test3', '#test4']
# result ['#test3, #test4 - : ']est3, #test4 - ']
print(re.findall(r"#.*?[^a-zA-Z\d]", text123))
# result ['#test3,', '#test4 ']
# what would I like- ['#test3', '#test4']
我试过了 查找所有以特定字符开头和结尾的子字符串 查找所有以特定字符开头和结尾的子字符串
以及其他链接\手册\等 - 没办法
print(re.findall(r"#[a-zA-Z0-9]+", text123))
不错。
如果您尝试查找字母数字,为什么不使用字母数字而不是点符号?放你想要的,避免你不想要的。
import re
text123 = "test, test12, #test3, #test4 - : test555"
print(re.findall(r"#[\w]+", text123))
# expected ['#test3', '#test4']
# result ['#test3, #test4']