java-代码错误中的正则表达式

时间:2013-03-23 07:54:00

标签: java regex

我在java中编写了一个regEx程序。我认为这是真的,但结果却不同。请帮我解决这个问题。

我的代码:

String text    ="My wife back me up over my decision to quit my job";

String patternString = "[/w/s]*back(\\s\\w+\\s)*up[/w/s]*.";

Pattern pattern = Pattern.compile(patternString, Pattern.CASE_INSENSITIVE);

Matcher matcher = pattern.matcher(text);

boolean matches = matcher.matches();

System.out.println("matches = " + matches);

输出:         matches = false

我是java编程的新手。我想用regEx编写一个程序来测试输入句子中“备份”的匹配。

感谢您的关注。

2 个答案:

答案 0 :(得分:3)

我认为你的模式应该是这样的:

String patternString = "[\\w\\s]*back(\\s\\w+\\s)*up[\\w\\s]*.";

答案 1 :(得分:1)

您正在使用正斜杠而不是反斜杠:

String patternString = "[/w/s]*back(\\s\\w+\\s)*up[/w/s]*.";
                         ^ ^                       ^ ^

这两个不可互换(不要忘记反斜杠需要加倍)。