我得到了一个字符串,格式如下:yyyyMMdd_HHmm_ss_unitCode_(status)。 我需要将每个组件映射到一个专用类的属性。标记字符串
我想用这样的正则表达式来定义我的令牌: {d+}4{d+}2{d+}2_{d+}2_{d+}2_{s+}3_{s+}2
=>为近似正则表达式语法表示歉意,d表示十进制,s表示字符串。
如何告诉我的解析器第一组{d+}4
必须在我的课程的“年”属性中,第二组到“月”等等。
显然,我可以这样做:token.setYear(substring(0,4))
但我想要更通用一些,因为我没有控制文件名的结构。 我还考虑定义一个xml结构,用startPosition,endPosition,属性名称来存储和输入。
总而言之,我认为所有这些太复杂了。问题是我没有一个单独的分隔符来使我能够使用String.split
。
您解析字符串,你打算使用正则表达式,但是你不知道字符串的结构?这真是令人困惑。如果你不知道字符串的结构,我不知道你如何解析它。 – 2012-01-12 17:21:40
好问题。有一件事我没有得到:“我无法控制文件名的结构”。所以字符串是一个文件名? – paislee 2012-01-12 17:29:12
我知道结构可以改变,这就是为什么我想通过正则表达式来定义它,以便能够在结构改变时适应我的代码。 – 2012-01-12 18:02:34