用于处理字符串的Java正则表达式包含下一行

时间:2013-07-05 20:15:34

标签: java regex

我有这样的文字

Customer Owned 03/26 04/25 0.00
Modem

此处调制解调器位于下一行

现在我需要将数据写入电子表格

客户拥有的调制解调器03/26 04/25 0.00

我写了一个正则表达式

([a-zA-Z = ]*) ([[0-9]{2}/[0-9]{2} ]*) (-?[0-9]*\\.[0-9]+)

我将描述称为“客户拥有”而不是“客户拥有的调制解调器”。有没有办法通过正则表达式处理?

3 个答案:

答案 0 :(得分:1)

你可以试试这个正则表达式:

([A-Za-z ]+)([^A-Za-z]+)[\r\n]*([A-Za-z]+)

并替换为:

\1\3 \2

这是使用您的示例的demo

答案 1 :(得分:0)

要匹配换行符,您可以尝试\ r?\ n

相应地更新你的正则表达式以包括换行符以及之后的文本

答案 2 :(得分:0)

请在正则表达式中添加以下内容。这将检测所有平台上的行尾,并捕获最后一组中的以下行。然后,您可以将第1组和最后一个组连接在一起。

(?:\n|\r|\n\r|\r\n)([a-zA-Z = ]*)$