【发布时间】:2021-03-03 03:32:57
【问题描述】:
如果我需要将字符串“a”与它之前和之后的符号@#$ 的任意组合进行匹配,例如@a@、#a@、$a$ 等,但不是特定模式@a$。我怎样才能排除这个?假设有太多组合,无法手动一一拼出。并且它不是其他 SO 答案中看到的负面前瞻性或落后情况。
import re
pattern = "[#|@|&]a[#|@|&]"
string = "something#a&others"
re.findall(pattern, string)
目前,该模式按预期返回类似 '#a&' 的结果,但也错误地返回要排除的字符串。正确的模式应该返回 [] on re.findall(pattern,'@a$')
【问题讨论】:
-
您在这里期望/接受的所有符号是什么?