Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.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/4/regex/17.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
在Java中不同的阿拉伯语正则表达式模式后匹配两个或三个单词_Java_Regex_Arabic - Fatal编程技术网

在Java中不同的阿拉伯语正则表达式模式后匹配两个或三个单词

在Java中不同的阿拉伯语正则表达式模式后匹配两个或三个单词,java,regex,arabic,Java,Regex,Arabic,大家好, 我是使用正则表达式的初学者。我想做的是提取2或3个阿拉伯单词后,一定的模式 例如: 如果我有阿拉伯字符串 inputtext = "تكريم الدكتور احمد زويل والدكتورة سميرة موسي عن ابحاثهم العلمية " 我需要提取后面的名字 الدكتور 及 因此,输出应为: احمد زويل سميرة موسى 到目前为止,我所做的工作如下: inputtext = "تكريم الدكتور احمد زويل والدكت

大家好,

我是使用正则表达式的初学者。我想做的是提取2或3个阿拉伯单词后,一定的模式

例如:

如果我有阿拉伯字符串

inputtext = "تكريم الدكتور احمد زويل والدكتورة سميرة موسي عن ابحاثهم العلمية "
我需要提取后面的名字

الدكتور

因此,输出应为:

احمد زويل
سميرة موسى
到目前为止,我所做的工作如下:

inputtext = "تكريم الدكتور احمد زويل والدكتورة سميرة موسي عن ابحاثهم العلمية "
Pattern pattern = Pattern.compile("(?<=الدكتور).*");
            Matcher matcher = pattern.matcher(inputtext);
            boolean found = false;
            while (matcher.find()) {
                // Get the matching string
                String match = matcher.group();
                System.out.println("the match is: "+match);
                found = true;
            }
            if (!found)
    {
        System.out.println("I didn't found the text");
    }
我不知道如何添加另一个模式,以及如何在两个单词后停止


您能帮我提些建议吗?

要仅匹配以下两个词,请尝试以下一个:

(?<=الدكتور)\s[^\s]+\s[^\s]+
احمد زويل والدكتورة سميرة موسي عن ابحاثهم العلمية
(?<=الدكتور)\s[^\s]+\s[^\s]+
(?<=الدكتور)\s[^\s]+\s[^\s]+|(?<=والدكتورة)\s[^\s]+\s[^\s]+