正则表达式在字符串中找不到匹配的整数

时间:2013-12-28 12:00:22

标签: java regex

我有两个表的内容存储在Stringbuffers中。一个人有数据;另一个只是标题。我将Stringbuffers转换为字符串并删除了空格。

表1:

  

ACCOUNT_NUMBER; BRANCH_CODE; RECALC_ACTION_CODE; RECALC_DATE; PROCESS_NO; PRINCIPAL_CHG_AMXX23QRUP120970003; 023,E,2013年9月5日; 1; -522.53

表2:

  

ACCOUNT_NUMBER; BRANCH_CODE; MSG_TYPE

如果表中有数据,我只想继续表,如table1。 为了检查数据(即整数),我使用了正则表达式:table1.matches("\\d"),但这返回false。我也尝试了table1.matches("(?s)\\d")),换了新行字符,但即使这样也会返回false。

如何检查字符串中的整数数据?

1 个答案:

答案 0 :(得分:4)

阅读documentation on matches。 “匹配”需要整个字符串匹配,因此table1.matches("\\d")失败 - “table1”不是“仅一位数”。

请改用table1.matches(".*\\d.*")。注意双反斜杠!您可能不知道他们需要在String常量中转义。