当前位置: 代码迷 >> Java相关 >> 这个如何用正则表达式匹配
  详细解决方案

这个如何用正则表达式匹配

热度:83   发布时间:2016-04-22 20:44:20.0
这个怎么用正则表达式匹配

匹配到“藏文:”后面的藏文,不包括逗号。
------解决思路----------------------
引用:
Quote: 引用:

Quote: 引用:

Unicode是包含藏文的,如果这几个字不是生僻字,直接字面量匹配就可以。
把中文换成藏文。
import java.util.regex.PatternSyntaxException;

public class Test {
public static void main(String[] args) {
try {
String subjectString = "中文";
boolean foundMatch = subjectString.matches("中文");
System.out.println(foundMatch);
} catch (PatternSyntaxException ex) {
}

}
}
我有很多这样的词条,需要找到所有的藏文。

boolean foundMatch = subjectString.matches("[\u0f40-\u0f72]{2,8}");
匹配2-8个藏文字母,\u0f40-\u0f72为藏文字母的unicode取值范围。

范围写错了,应该是\u0f00-\u0fc6。
------解决思路----------------------
如果要保存匹配结果需这样写:

import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;

public class Test {
public static void main(String[] args) {
try {
String subjectString = "?????????????????????????????????????????????";
Pattern regex = Pattern.compile("\\p{IsTibetan}+", Pattern.MULTILINE);
Matcher regexMatcher = regex.matcher(subjectString);
while (regexMatcher.find()) {
for (int i = 0; i <= regexMatcher.groupCount(); i++) {
System.out.println("resutl=" + regexMatcher.group(i));
}
}
} catch (PatternSyntaxException ex) {
// Syntax error in the regular expression
}

}
}