我的头衔可能有点误导。我可以轻松地手动解析字符串,但我正在寻找最快的方法来检测2个特定字段中的特定值。所以给出一个示例字符串:
XXX_X_999999_999999_99999999_99999999_X_X其中x = alpha,9是数字,我想确认字段5和6中的值(日期)是特定年份中的一个。
所以在第5场可能是20100101,我想看看年份是否与几年中的一年相匹配。第6场也是如此,但年份不同。我猜这可能是两种不同的表达方式吗?
我查看了一些解决方案,使用正则表达式扫描逗号分隔文件中的值,但改变检查似乎没有工作,因为我预期它会使用下划线(而不是专注于特定的字段,它似乎看着整个字符串)。
同样,我可以通过拆分字符串,然后检查这两个字段来做到这一点,但我希望能更快地做一些事情,只需动态验证(如果特定值是在那里就分析了一些这些字符串)字符串中的正确位置。
示例:
XXX_X_100000_200000_20100101_20100130_X_X
我希望将第一个日期(字段5)与2001年和2002年相匹配。
[编辑]
我应该注意到我对正则表达式很糟糕,我试图为我的目的修改的是:^([^,\ r \ n] *,){5}(2001 | 2002)
答案 0 :(得分:0)
不要过度使用正则表达式。
分割字符串并传统解析它没有任何问题。
你当然也可以使用例如(\d\d\d\d)(\d\d)(\d\d)
让正则表达式为您分配预先分配日期到YMD。尽管如此,如果某些内容应该是一个数字,请将其作为数字处理,而不是字符串。