正则表达式的捕获数组和非捕获数组
(?:(.+?)-(.+?)__)?
把(.+?)-(.+?)__当做一个整体后,?:
(?:exp) | 匹配exp,不捕获匹配的文本,也不给此分组分配组号 |
//获得一段字符串匹配后的字符串
匹配如下网址的字符串:http://www.guidechem.com/help/risk_safety.html#safety
public static String getMatchStr(String str){
String regex="S\\d+(?:/\\d+)*";
StringBuilder sb=new StringBuilder();
Pattern pattern=Pattern.compile(regex);
Matcher match=pattern.matcher(str);
while(match.find()){
sb.append(match.group()).append(",");
}
if(sb.length()>0){
sb.deleteCharAt(sb.length()-1);
}
return sb.toString();
}
判断是否是汉字:word.matches("[\\u4e00-\\u9fa5]")