您的位置:首页 > 其它

正则表达式匹配 字符串

2012-04-06 10:12 176 查看
正则表达式匹配字符串:

假使,有几个需要验证的字符串用 "," 连接在一起[形如:"Farmer1,1FARMER234"],想用正则表达式来匹配每一个字符串。

private static String sourceStr = "FARMER1,1FARMER234";
private static String key = "FARMER";
private static String reg = "(.*\\b)?";
String regex = "";
key = key.toUpperCase();
for (int i = 0; i < key.length(); i++)
{
regex += reg.replace("", String.valueOf(key.charAt(i)));
}
regex = "^" + reg + key + ".*$";
System.out.println(regex + "-" + Pattern.compile(regex).matcher(sourceStr).matches());

上面的代码 打印出来的应该是:

^(.*\b)?FARMER.*$ - true

这种正则表达式 可以用在联系人搜索上。

假如,联系人搜索需要支持名字、号码、全拼、简拼多种支持,

可以先把几种的内容连接到一起,如:"小明,13576676795,XM,XIAOMING",

用xm或135都应该是能匹配到小明这个联系人的。

匹配后缀名:

public static String getSuffix(String fileName)
{

Pattern p = Pattern.compile("\\.\\w+");
Matcher m = p.matcher(fileName);
String suffix = null;
// 使用find逐个查找
while (m.find())
{
suffix = m.group();
}
return suffix;
}

public static boolean isPicture(String fileName)
{
String suffix = getSuffix(fileName).toLowerCase();
if (suffix.contains(".png") || suffix.contains(".jpg")  || suffix.contains(".jpeg") || suffix.contains(".gif") || suffix.contains(".bmp"))
{
return true;
}
return false;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: