2017-07-01 105 views
-1

我想使用String类的“matches”方法。 我不想创建模式和匹配器对象并使用matcher.find() 来匹配我正在使用的特定字符串。在java正则表达式中匹配一个字符串

这里是我的代码:

String string = "-12Log"; 
if(string.matches("-?\\d+(\\.\\d*)?[Log]")System.out.println("dinos"); 

我已经使用不同类型的正则表达式的,但没有成功。 我已经使用了以下内容:

-?\\d+(\\.\\d*)?\\[Log] 
-?\\d+(\\.\\d*)?[+a-zA-Z] 
-?\\d+(\\.\\d*)?+[a-zA-Z] 

请注意,我不希望将字符串分解成字符。我想用这个字符串。

任何想法,将不胜感激

+0

删除方括号 - ['“ - \\ d +(\ \。\\ d *)?登录“'](http://ideone.com/WPEMS9)。至于号码匹配模式,它可以根据您的要求而不同。通常情况下,模式看起来像'\\ d * \\。?\\ d +'。如果'Log'是一个动态部分,使用'[a-zA-Z] +' –

+0

停止提出我的问题。这个问题出了什么问题? –

回答

0

感谢大家的帮助:找到了答案已经 是:工作的匹配是:

-?\\d+(\\.\\d*)?.*(Log).*