【发布时间】:2011-07-12 16:16:49
【问题描述】:
我有几个字符串,如下所示:
+H124005992014011/1527399999999I05Z
+H7039700000001/$99999999I051
+K122005962050171/120911234C117
我需要将每个部分拆分为自己的变量。为此,我认为 Regex 将是最好的方法。
这里是拆分规则。
- 第一个字符必须是“+”
- 第二部分必须有一个字母字符后跟三位数字。即 H124、H703、K122
- 第三部分是一组字母数字字符(长度为 1 到 13 个字符)
- 第四部分是一个十进制数字(0 到 9)
- 第五部分必须是'/'字符
- 第六部分是明确的五位儒略日期代码
- 第七部分是一个 0 到 13 的字母数字字符串
- 第八部分必须有一个字母字符(A 到 L),后跟两位数字
- 而第九部分是单个字母数字字符
我有以下正则表达式模式,它似乎可以很好地匹配字符串,但我不确定如何将这个完整模式转换为字符串以及拆分这些字符串的可靠方法....
(^\+)(\D\d\d\d)(\w{1,13})(\d)(\/)(\d{5}|\$)(\w{0,13})\D\d\d\w$
我需要将上述模式转换成一种形式,以便提取每个匹配的部分屏幕。
提前致谢
【问题讨论】:
-
我不明白你的问题是什么。你可以说得更详细点吗?您的正则表达式可能会更好,但如果您不使用它来验证输入,而只是提取数据,它应该可以工作。您需要做的就是再添加两个组来捕获最后的部分。