Java 为什么我的正则表达式在输入数据中找不到子字符串
这是我的代码:Java 为什么我的正则表达式在输入数据中找不到子字符串,java,regex,Java,Regex,这是我的代码: Pattern p = Pattern.compile(":\\s(.+)\\s[cfs]"); Matcher m1 = p.matcher("Seat 9: -FACERAPE- folded before Flop"); String name = null; while(m1.find()){ name = m1.group(1); } System.out.println(name); 我尝试了这个正则表达式模式,但在我的IDE中它不起作用。我在JDK1.6中
Pattern p = Pattern.compile(":\\s(.+)\\s[cfs]");
Matcher m1 = p.matcher("Seat 9: -FACERAPE- folded before Flop");
String name = null;
while(m1.find()){
name = m1.group(1);
}
System.out.println(name);
我尝试了这个正则表达式模式,但在我的IDE中它不起作用。我在JDK1.6中使用Eclipse。我的正则表达式也适用于以下示例:Seat 7:Goldball31在翻牌前折叠,Seat 4::\\s(.+?)\\s[cfs]
或
你的代码打印-FACERAPE-。现在解释一下这有什么问题。我的代码打印null并生成nullpointerexceptionWell为什么不演示执行该操作的代码呢。此代码打印-FACERAPE-.@user1346834:不,它不打印。引用的代码在复制并粘贴到类中时,显示的文本如Marko所示。@Mat:这是我的观点,我也是,而OP说它抛出了一个NPE。hm试图在记事本中编写java代码,它可以工作。昵称可以包含多个空格。谢谢你的帮助,我应该重新安装我的Eclipse。关闭此主题。如果Nick可以包含空格,则您的正则表达式对于任何Nick都将失败,该Nick的单词开头包含c、f或s。我理解这一点,但不知道如何将完整单词与或一起使用:show、fold或collected。也许你能帮我?“*?显示|折叠|收集|。。。而其中一个缺口包含“折叠”收集:
:\\s(\\S+)\\s[cfs]