私は1980年以前のVIN(Vehicle Identification Numbers)以前のものを捉えるRegExを使用しようとしています。 Anythign pre 1980は17桁である必要はなく、 'O'と 'U'を含むことができます。VIN RegEx Pre 1980
このサイトは(それはまた、VINのルールを説明して)それのための正規表現を持っていると主張:http://lamptricks.blogspot.com/2012/03/vin-regex-pre-1980-and-new.html
はここに正規表現です:^((([a-h,A-H,j-n,J-N,p-z,P-Z,0-9]{9})([a-h,A-H,j-n,J-N,p,P,r-t,R-T,v-z,V-Z,0-9])([a-h,A-H,j-n,J-N,p-z,P-Z,0-9])(\d{6}))|(([a-h,A-H,j-z,J-Z,0-9]{6,11})(\d{5})))$
しかし、以下のVINは、テストに合格しなかった:BCG23253
これは終了し、5桁で8文字です。これはRegExのアカウントです...このVINは間違っているのですか、RegExですか?正規表現を読み、これを見てするのは難しいされていることを
古いVINは11-16文字でなければならないと言われています。長さ8は有効ではないようです。この部分を見てください: '(([a-h、A-H、j-z、J-Z、0-9] {6,11})(\ d {5})' 5桁の前に6-11文字必要です。 – Wiseguy
@Wiseguy良い点...多分それは悪いデータです。 – mint
読みやすくするために、重複した文字の範囲を削除します(小文字用、大文字用、大文字用のどちらか一方をそのまま残してください)。大文字小文字を区別しませんが、正規表現エンジンのオプションです。 – Wiseguy