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