私はPythonのreパッケージ(正規表現がより一般的であることは知っていますが、他のパッケージがあるかもしれません)を使用して、変数名の後に+、-、>、<または=。(これは不等式のシステムです。)変数名を除外する必要があります。
今まで使っていた
var_pattern = re.compile(r'[a-z|A-Z]+\d*\.?')
あまり一般的ではないので、これはやや「ハッキー」です。私は気にしませんでしたが、以下のような奇妙な名前の問題に遭遇しました。
私の次の行きは
var_pattern = re.compile(r'[a-z|A-Z]+[a-zA-Z0-9_.]*')
これは、少なくとも1つの頭文字の後に、+、-、>、<、および=を除いて発生するほぼすべてのものと一致する必要があります。これは、「x23」または「C2000001」などの変数名でうまく機能します。ただし、「x_w_3_dummy_1」は使用できません。アンダースコアが原因である可能性があると思いましたが、変数'x_b_1_0_0'で問題なく機能するようです。
誰かが何が原因であるか、そしてもっと重要なことに、それを修正する方法についての考えを持っていますか?
余談ですが、私もやってみました
var_pattern = re.compile(r'[a-z|A-Z]+[^+^-^>^<^=]*')
しかし、どちらも役に立たない。