使用RTL语言正则表达式

时间:2015-01-11 15:00:51

标签: java android regex

我有这段代码:

patternString = "הבא  [a-fA-F0-9]{3,10}";
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(strBody);
if (matcher.find())
{
    return matcher.group();
}

我在希伯来语中有字符串strBody:

. משהו גדול קורה פה הבא  711063

我只需要“הבא”这个词后面的数字可能是3-10位数。

我现在得到的结果是:

הבא  711063

你能帮帮我吗?

1 个答案:

答案 0 :(得分:1)

通过捕获组捕获要打印的部分。

String strBody = ". משהו גדול קורה פה הבא  711063";
String patternString = "הבא  ([a-fA-F0-9]{3,10})";
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(strBody);
if (matcher.find())
{
    System.out.println(matcher.group(1));
}

OR

如果您想在הבא字符串后仅匹配3到10位数,也可以尝试此正则表达式。

String patternString = "הבא  (\\d{3,10})";

输出:

711063