条件付きプレフィックスの回答を検索しましたが、空白になっています。単純なものが欠けていると思いますが、うまくいきませんでした。
これらのシリーズすべてを単一の正規表現行と一致させたいと考えています。
ロジックセクションは次のとおりです。
- (多分2文字の接頭辞、多分単語の境界)
- (7桁)
- (多分2文字の接尾辞[最初は常に文字、2番目の文字または数字]、多分単語の境界)
一致例(文字と数字は任意です):
1234567
1234567B1
1234567A2
1234567AA
AA1234567
AA1234567A1
AA1234567
AA1234567BB
拒否されました:
12345678
/ 1234567
-1234567
:1234567
01234567
AB12345678AB
私が試したこと:
私はそこでグループ化しようとし続けます。連続する7桁の数字を一致させるのは明らかに単純な「[0-9]{7}」ですが、オプションのグループで注意書きのNOT文字を一致させるのに問題があります。
たとえば、接頭辞が付いている可能性のある7桁の数字と一致することを期待して'[^ \ d]?[0-9] {7}'を実行したが、その接頭辞を数字にすることはできない場合、接頭辞なしの一致は失敗します(つまり、7桁の文字列)。
明らかに私は正規表現に慣れていないので、どんな助けでもありがたいです。
編集ありがとうございました!これらはそれぞれ、実際のテストファイルに非常に近い結果を生成するようです。少しテストする必要がありますが、当面は、複数の正解と効率的な回答があるようです。