考慮しなければならない非常に複雑な一連の差異があります。それらすべてに一致する正規表現を作成するのと、Java で個々の正規表現を作成して if-then ブロック内でそれぞれをテストするのとではどちらがよいでしょうか?
すべてのケースに一致する正規表現を思いつくことさえできないので、それはおそらく論点です:
入力は次のとおりです。
- CN666SEEEI
- FOC000007HW (2190000002)
- FHK10AAAAAA (2850000004)
- JAB031444BA (3108888022)
- S/N JAE14445WW7
- シリアル : FOC0818S08Rモデル : Cisc
- シリアル番号: FHK10HHHQ4
- モデル:CISCO7200VXR、SN:36555555
- Cisco CISCO3845 SN: FGL15555532
- CISCO2831 FHK13XXXX1E
- CISCO1851 SN: FHK1XXXX55M
- CISCO2821 SN: FHK1333F11J
- CISCO2921/K9、SN: FHK1444FF7F
- Cisco 1941/k9 Sn: FHK13HHHTQ
- CISCO2121 SN: FHKFFFFFFEY
- WS-C2970-24TC-L、品番: FOCXXXXZ34K
- WS-C3760-24TS-S、品番: FDOXXXXX0F6
- 38 42 42 42 42 42 42 44 42 42
ここで、シリアル番号を抽出する必要があります。実際には、最初の行が最も単純な形式で、残りは文字列内に隠されています。最後のものは完全に無効であり、一致するはずです。