Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.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
Android 希伯来语正则表达式_Android_Regex_Hebrew - Fatal编程技术网

Android 希伯来语正则表达式

Android 希伯来语正则表达式,android,regex,hebrew,Android,Regex,Hebrew,我有如下文字: לשלום קוראים לי משהmy test is עלות 39.40, כל מיני data 1.1.2015 ויש גם data 123456 מידע 这篇文章有希伯来语和英语字符,我需要消除所有除了6位数字(可能是5,这个数字:123456) 你能帮我用正则表达式吗 尝试: String patternS = "[אבגדהוזחטיכךלמםנןסעפףצץקרשתa-fA-F0-9]{5,10}.*"; Pattern pattern =

我有如下文字:

לשלום קוראים לי משהmy test is עלות 39.40, כל מיני data 1.1.2015 ויש גם data 123456 מידע
这篇文章有希伯来语和英语字符,我需要消除所有除了6位数字(可能是5,这个数字:123456)

你能帮我用正则表达式吗

尝试:

  String patternS = "[אבגדהוזחטיכךלמםנןסעפףצץקרשתa-fA-F0-9]{5,10}.*";
  Pattern pattern = Pattern.compile(patternString);

无法成功匹配除数字以外的所有内容,请使用:

\d+(?:[^\d]\d+)+|[\p{L}\p{M}\p{Z}\p{P}\p{S}\p{C}]+

String resultString = subjectString.replaceAll("\\d+(?:[^\\d]\\d+)+|[\\p{L}\\p{M}\\p{Z}\\p{P}\\p{S}\\p{C}]+", "");

这将为您提供字符串中每6个didgit的组合

(\d{6,6})

我们不能给你一个更详细的正则表达式,因为我们现在知道了这些字符串的模式。 如果始终存在“数据”前缀,您也可以使用此前缀使模式更准确:


数据(\d{6,6})

尝试以下方法:

String patternS = "(\d{5,6})";
Pattern pattern = Pattern.compile(patternS);
Matcher m = pattern.matcher(yourText);
int number = Integer.parseInt(m.group(1));

其中,
yourText
是您要匹配的希伯来文/英文文本。

这适用于此特定示例

String s = " לשלום קוראים לי מש my test is עלות 39.40, כל מיני data 1.1.2015 ויש גם data 123456 מידע1234";
System.out.println(s.replaceAll(".*\\b(\\d{5,6})\\b.*", "$1"));