2

我正在从文本文件中读取并尝试过滤:

::Tile(1,8), 92, water.png

以便它可以找到:

92, water.png

我已经这样做了:

Matcher m =Pattern.compile("\\),\\s([\\d+\\s*,\\s*\\w+\\s*]+)").matcher(statement);

where 语句是原始字符串

但是,当我使用:

::Tile(1,8), 92b, water.png

作为原始字符串,它完全忽略了预期的正则表达式匹配并给出:

92b, water.png

我试过在最后使用 $ 符号无济于事。我尝试在 ([...]) 内部的正则表达式末尾使用 + ,但这也无济于事。

谢谢你的时间。

4

1 回答 1

2
\\),\\s(\\d+\\s*,\\s*[\\w.]+\\s*)

猜你想要这个。[]不是你想的那样。它是一个字符类。在里面定义一个模式是没有用的。看演示。

https://regex101.com/r/gT6vU5/10

于 2015-10-23T06:30:44.020 回答