-3

我的标题可能有点误导。我可以轻松地手动解析字符串,但我正在寻找最快的方法来检测 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)

4

1 回答 1

0

不要过度使用正则表达式。

拆分字符串并以传统方式解析它并没有错。

当然,您也可以使用 eg(\d\d\d\d)(\d\d)(\d\d)为您将正则表达式预拆分为 YMD。然而,如果某些东西应该是数字,则将其处理为数字,而不是字符串。

于 2013-10-07T20:52:24.347 回答