我正在使用 Python 的 re 包(是的,我知道正则表达式更通用,但谁知道,可能还有其他包)来读取一些数据,其中包括带有变量名的不等式,然后是 +、-、>、< 或=。(这是一个不等式系统。)我需要过滤掉变量名。
到目前为止,我使用
var_pattern = re.compile(r'[a-z|A-Z]+\d*\.?')
这有点“hacky”,因为它不是太笼统。我不介意,但遇到了一个奇怪名字的问题,如下所示。
我的下一个目标是
var_pattern = re.compile(r'[a-z|A-Z]+[a-zA-Z0-9_.]*')
它应该在至少一个首字母之后匹配除了 +、-、>、< 和 = 之外的所有内容。这适用于变量名称,如“x23”或“C2000001”。但不是'x_w_3_dummy_1'。我原以为它可能仍然是因为下划线,但它似乎与变量'x_b_1_0_0'一起工作得很好。
有没有人知道可能导致什么,更重要的是,如何解决它?
顺便说一句,我也尝试过
var_pattern = re.compile(r'[a-z|A-Z]+[^+^-^>^<^=]*')
但也无济于事。