java正则表达式的匹配
2016-01-25 13:19
405 查看
// 解析规格,根据不同形式进行匹配,暂时将格式当中的前三个数字进行保存
if (StringUtils.hasText(specName))
{
Pattern pattern = Pattern.compile("[0-9]+(\\.[0-9]+)?");
Matcher match = pattern.matcher(specName);
for (int j = 0; match.find() && j <= 2; j++)
{
String value = match.group();
if (value != null && SolrStatementUtils.checkTextToNum(value))
{
double num = Double.parseDouble(value);
if (j == 0)
{
itemIndex.setThickness(NumberUtils.parseDouble(SolrStatementUtils.formatNumber(Double.parseDouble(value), SolrStatementUtils.NUMBER_PATTERN_1)));
}
if (j == 1)
{
itemIndex.setWidth(NumberUtils.parseDouble(SolrStatementUtils.formatNumber(Double.parseDouble(value), SolrStatementUtils.NUMBER_PATTERN_1)));
}
if (j == 2)
{
itemIndex.setLength(NumberUtils.parseDouble(SolrStatementUtils.formatNumber(Double.parseDouble(value), SolrStatementUtils.NUMBER_PATTERN_1)));
}
specName = specName.replace(value, SolrStatementUtils.formatDecNumber(num, "####.##"));
}
}
/**
* 中文提取
* @param str
* @author Admin
* @date 2015-7-25
*/
public static void getChinese(String str){
String regex = "[//u4E00-//u9FFF]+";//[//u4E00-//u9FFF]为汉字
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
StringBuffer sb = new StringBuffer();
while(matcher.find()){
sb.append(matcher.group());
}
System.out.println(sb);
}
if (StringUtils.hasText(specName))
{
Pattern pattern = Pattern.compile("[0-9]+(\\.[0-9]+)?");
Matcher match = pattern.matcher(specName);
for (int j = 0; match.find() && j <= 2; j++)
{
String value = match.group();
if (value != null && SolrStatementUtils.checkTextToNum(value))
{
double num = Double.parseDouble(value);
if (j == 0)
{
itemIndex.setThickness(NumberUtils.parseDouble(SolrStatementUtils.formatNumber(Double.parseDouble(value), SolrStatementUtils.NUMBER_PATTERN_1)));
}
if (j == 1)
{
itemIndex.setWidth(NumberUtils.parseDouble(SolrStatementUtils.formatNumber(Double.parseDouble(value), SolrStatementUtils.NUMBER_PATTERN_1)));
}
if (j == 2)
{
itemIndex.setLength(NumberUtils.parseDouble(SolrStatementUtils.formatNumber(Double.parseDouble(value), SolrStatementUtils.NUMBER_PATTERN_1)));
}
specName = specName.replace(value, SolrStatementUtils.formatDecNumber(num, "####.##"));
}
}
/**
* 中文提取
* @param str
* @author Admin
* @date 2015-7-25
*/
public static void getChinese(String str){
String regex = "[//u4E00-//u9FFF]+";//[//u4E00-//u9FFF]为汉字
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(str);
StringBuffer sb = new StringBuffer();
while(matcher.find()){
sb.append(matcher.group());
}
System.out.println(sb);
}
相关文章推荐
- Spring中bean三种注解方式。
- Java 高级类(下) —— 内部类和匿名类
- JAVA压缩图片并打成ZIP
- java不可变类中静态成员变量可以改变吗
- activemq的配置与结合spring使用
- java正则去掉小数点后多余0
- 华为oj题目(java版)
- java基础之& 和 && 的差别
- Java题,class A { static int x; } class B { A a = new A(); a.x=1; }错在哪
- java(二十一)集合 ArrayList
- eclipse快捷键
- 在 Eclipse 中使用 PHP
- java(二十)多态
- springmvc spring mybatis框架整合
- Java common utils test
- Java开源电商项目比较
- Spring实现AOP的4种方式
- Java读取文件夹大小的6种方法及代码
- Java并发编程:Callable、Future和FutureTask
- MyEclipse开发WebService教程