Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
find()正则表达式Java函数_Java_Regex_Find_Pattern Matching_Matcher - Fatal编程技术网

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语句体运行零次或一次。它们之间的选择取决于您希望查找的匹配项的数量。