使用正则表达式拆分字符串

时间:2015-10-05 19:09:54

标签: java regex string date

我的格式为长字符串:

"DD.MM.YYYY comments for this date ; DD.MM.YYYY comments for another date ; etc".

我想拆分数组的字符串(日期+描述)。我尝试使用此模式进行拆分,但它匹配整个字符串而不是拆分。

(\d{2}[.]\d{2}[.]\d{4})[^(\1)]*

我无法通过;分隔符进行拆分,因为文本可能包含它。

1 个答案:

答案 0 :(得分:1)

尝试:

(\d{2}[.]\d{2}[.]\d{4})\D*

这将匹配日期,后跟任何非数字字符。

如果说明可以包含数字,请尝试:

((\d{2}[.]\d{2}[.]\d{4}).*?(; (?=\d))|(\d{2}[.]\d{2}[.]\d{4}).*$)

这将匹配一个日期后跟任何东西,直到遇到一个分号后跟一个空格和一个数字或一个日期后跟任何东西,直到字符串结束。

如果您想将日期用作分隔符(而不是分号后跟空格和数字),请尝试以下操作:

((\d{2}[.]\d{2}[.]\d{4}).*?((?=(\d{2}[.]\d{2}[.]\d{4})))|(\d{2}[.]\d{2}[.]\d{4}).*$)