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