搜索前的正则表达式字符

时间:2012-08-23 16:26:08

标签: regex datetime

我有一个以下正则表达式,它在文本文件中找到日期:

(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})

我想找到此搜索字符串之前的字符。任何人都可以指出我正确的方向。前面的字符是a,(逗号),我想搜索和替换。

2 个答案:

答案 0 :(得分:2)

您需要使用positive lookahead来完成此任务:

/,(?=(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2}))/

此模式将与逗号匹配,但前提是它后跟与您在问题中提供的模式匹配的内容。 (注意,使用搜索/替换,它不会替换日期)

答案 1 :(得分:1)

只需将,添加到正则表达式中即可。然后它只匹配以逗号开头的日期实例:

/,((\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2}))/

原始正则表达式包含在()中,可作为第一个子匹配。