find()正则表达式Java函数
考虑以下检查输入是否为表单的代码:find()正则表达式Java函数,java,regex,find,pattern-matching,matcher,Java,Regex,Find,Pattern Matching,Matcher,考虑以下检查输入是否为表单的代码:contents 如果以上述形式输入,则打印标签之间的内容,否则打印无 例如: 输入:Nayeem喜欢咨询 输出:纳伊姆喜欢咨询 输入:Sanjay没有手表,请稍等片刻 输出:桑杰没有手表 所以等一会儿 输入:safat像忍者一样编码 输出:无 String line=scan.nextLine(); 布尔匹配发现=假; Pattern r=Pattern.compile(“([^当您调用find()时,匹配程序将尝试查找与您的正则表达式模式匹配的下一个序
contents
如果以上述形式输入,则打印标签之间的内容,否则打印无
例如:
Nayeem喜欢咨询
输出:纳伊姆喜欢咨询
Sanjay没有手表,请稍等片刻
输出:桑杰没有手表
所以等一会儿
safat像忍者一样编码
输出:无
String line=scan.nextLine();
布尔匹配发现=假;
Pattern r=Pattern.compile(“([^当您调用find()
时,匹配程序将尝试查找与您的正则表达式模式匹配的下一个序列。通过在while循环中使用find()
,您将能够获得所有匹配的序列(如果有)。如果您希望将输入字符串作为一个整体进行匹配,可以使用matches()
参考:
答案在for查找中
public boolean find()
尝试查找与模式匹配的输入序列的下一个子序列
此方法从该匹配器区域的开始处开始,或者,如果先前成功调用了该方法并且此后未重置匹配器,则从第一个未与先前匹配匹配的字符开始
如果匹配成功,则可以通过start、end和group方法获得更多信息
您正在查看的代码正在重复查找正则表达式的下一个匹配项并打印其匹配的第二组。由于匹配项的第二组是标记内容,因此将打印所有标记的内容
如果使用If
而不是while
,则仅打印第一个匹配项;即仅打印第一个标记的内容。如果使用If
,则第二个输入示例将只打印一个结果(我认为)。如果要查找所有匹配项,而不仅仅是第一个匹配项,则必须使用while
。while循环体运行零次或多次;if语句体运行零次或一次。它们之间的选择取决于您希望查找的匹配项的数量。