2014-02-26 183 views
0

研究另一篇文章,我发现了一个匹配整个单词的好方法。
的硬编码字下面的比赛“的”使用匹配匹配整个单词

String text = "the quick brown fox jumps over the lazy dog"; 
System.out.println(text.matches(".*\\bthe\\b.*")); 

我想使这个稍微复杂一点。我想匹配用户输入的单词。
所以,如果我设置

String userInput; 

,并验证它等等等等
如何修改上面的匹配,因此验证对包含在字符串userInput整个单词?
谢谢

+0

嗯..这使得它非常复杂。 – devnull

+0

你真的在问如何动态构建正则表达式吗? – Coenwulf

+0

'并验证它等等。这是什么意思?如果使用边界断言这个词,你会得到奇怪的结果。另外,当你匹配整行/字符串时,你怎么知道你匹配了什么? – sln

回答

3

明显的方法是尝试这一点。我认为它会起作用。

System.out.println(text.matches(".*\\b" + userInput + "\\b.*")); 
+0

doah ...你打我:-) –

+0

嗨。这工作正常,如果我只是做String text =“快速的棕色狐狸跳过懒惰的狗”;但它是给我一个问题,如果我需要做String text = new Scanner(new File(“userFile.txt”)).useDelimiter(“\\ A”)。next();当我printf文本*看起来*就像它有完全相同的文本。我能做些什么来使正则表达式更普遍?或其他想法?谢谢! – Harry

+0

我不明白你在说什么。也许你应该发表一个新问题来解释你的新问题。 –