Java正则表达式 - 获取字符串的特定部分

Jro*_*rom 6 java regex

我正在尝试访问遵循模式的多个字符串的某个部分.

这是我正在尝试做的一个例子.

String s = "Hello my name is Joe";    
if(Pattern.matches(s,"Hello my name is ([\\w]*)"))
{
    System.out.println("Name entered: $1");
}
Run Code Online (Sandbox Code Playgroud)

但是,我的代码永远不会进入"if-statement"

Die*_*ego 10

将参数交换到matches方法,您的if工作将正常工作(正则表达式是第一个参数,而不是第二个参数).

但是,您仍然不会打印第一个捕获组$1.为此:

String s = "Hello my name is Joe";    
Matcher m = Pattern.compile("Hello my name is ([\\w]*)").matcher(s);
if(m.matches())
{
    System.out.println("Name entered: " + m.group(1));
}
Run Code Online (Sandbox Code Playgroud)