关于spark:SparkESClickHouse-构建DMP用户画像

28次阅读

共计 1670 个字符,预计需要花费 5 分钟才能阅读完成。

download:Spark+ES+ClickHouse 构建 DMP 用户画像

package test;

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

/**

  • 正则表达式
  • 正则表达式 的用法次要是 4 种方面的应用
  • 匹配,宰割,替换,获取.
  • 用一些简略的符号来代表代码的操作
  • @author cyc
  • */

public class Rex {

public static void main(String[] args) {  
    // 针对字符串解决  
    Rex reg = new Rex();  
    // 校验 qq 的 reg 正则表达式  
    // 这里的 \w 是指的是 [a-zA-Z0-9], 还有一个重要的是?,*.+ 这三个别离  
    //? 示意呈现 1 次或者 1 次都没有,//+ 示意呈现 1 次或者 n 次,//* 示意呈现 0 次或者 n 次,// 还有些非凡的写法 X{n} 恰好 n 次 X{n,} 至多 n 次,X{n,m}n 次到 m 次,String mathReg = "[1-9]\\d{4,19}";  
    String divisionReg = "(.)\\1+";  
    //\\b 是指的边界值  
    String getStringReg = "\\b\\w{3}\\b";  
    // 字符串匹配 (首位是除 0 的字符串)  
    reg.getMatch("739295732",mathReg);  
    reg.getMatch("039295732",mathReg);  
    // 字符串的替换  
    // 去除叠词  
    reg.getReplace("12111123ASDASDAAADDD",divisionReg,"$1");  
    // 字符串的宰割  
    // 切割叠词, 反复的  
    // 这里要晓得一个组的概念 (.)\\1 第二个和第一个至雷同  
    reg.getDivision("aadddddasdasdasaaaaaassssfq",divisionReg);  
    // 字符串的获取  
    // 当初获取三个字符串取出  
    reg.getString("ming tian jiu yao fangjia le",getStringReg);  
}  
/**  
 * 获取查问的字符串  
 * 将匹配的字符串取出  
 */  
private void getString(String str, String regx) {  
    //1. 将正在表达式封装成对象 Patten 类来实现  
    Pattern pattern = Pattern.compile(regx);  
    //2. 将字符串和正则表达式相关联  
    Matcher matcher = pattern.matcher(str);  
    //3.String 对象中的 matches 办法就是通过这个 Matcher 和 pattern 来实现的。System.out.println(matcher.matches());  
    // 查找合乎规定的子串  
    while(matcher.find()){  
        // 获取 字符串  
        System.out.println(matcher.group());  
        // 获取的字符串的首地位和末地位  
        System.out.println(matcher.start()+"--"+matcher.end());  
    }  
}  
/** 
 * 字符串的宰割 
 */ 
private void getDivision(String str, String regx) {String [] dataStr = str.split(regx);  
    for(String s:dataStr){System.out.println("正则表达式宰割 ++"+s);  
    }  
}  
/** 
 * 字符串的替换 
 */ 
private void getReplace(String str, String regx,String replaceStr) {String stri = str.replaceAll(regx,replaceStr) ;  
    System.out.println("正则表达式替换"+stri);  
}  
/** 
 * 字符串解决之匹配 
 * String 类中的 match 办法 
 */ 
public void getMatch(String str, String regx){System.out.println("正则表白匹配"+str.matches(regx));  
}  

}

正文完
 0