样本输入:
19GMC TRNLLBLK
98CHY TK GRN
02TOYO 4DWHI
21LAND BLK
帮助了解我正在尝试做什么:
19|GMC |TRN|LL|BLK
98|CHY |TK | |GRN
02|TOYO| |4D|WHI
21|LAND| | |BLK
列:
- 总是两位数
- 总是3个字母后面跟着空格或4个字母
- 总是所有空格,2个字母后面跟着一个空格或3个字母
- 总是所有空格或两个字符
- 总是所有空格或三个字母
我正试图使用RegEx来选择每个";列";。
非白色字符将是一个组的一部分(每列一个(。
白色字符将是未选定组的一部分。
(?<DIG>d{2})(?<MKE>S{3,4})
我不知道如何创建一个未选择的组,该组计算出要选择多少空白以防止进入";下一列";。
您可以使用5个捕获组:
^(d{2})([A-Z]{3}[A-Z ])([A-Z]{2}[A-Z ]| +)([A-Z0-9]{2}| +)([A-Z]{3}| +)$
解释
^
字符串开始(d{2})
组1,匹配2位([A-Z]{3}[A-Z ])
第2组,匹配3个字符A-Z和字符A-Z或空格([A-Z]{2}[A-Z ]| +)
第3组,匹配2个字符A-Z和一个字符A-Z或一个仅or空间([A-Z0-9]{2}| +)
第4组,匹配2个字符A-Z或0-9或仅匹配空格([A-Z]{3}| +)
第5组,匹配3个字符A-Z或仅限空格$
字符串结束
查看regex演示。