我得到如下输入字符串:
A BC Y
或者
A BCY
关键是,它是基于位置的,即我必须将前 1 个字符解析为一个字符串,下一个 7 作为另一个字符串,下一个 1 作为另一个字符串,棘手的部分是最后一个字符串作为另一个字符串(在输入中是可选的)即输入行长度可以是 9 个字符或 10 个字符。我应该解析这个并得到 4 个字符串。
稍后我会将这些字符串放入数据库中并进行进一步处理。
我正在使用正则表达式
s/(.{1})(.{7})(.{1})(.{1})/
并将这些值复制到 4 个变量中。
但问题是它仅在行的长度正好是 10 个字符时才有效(当我们有最后一个字符时)。
当长度为 9 个字符(Y
缺少最后一个可选字符)时,正则表达式与该行不匹配,因此不进行解析。
长话短说,如何修改regex
以使最后 1 个字符可用于解析。
提前致谢。
PS:对于专家来说,这个问题可能听起来很微不足道,但是......