正则表达式
java中使用正则
public static void main(String[] args) {
    // 匹配4个字符, 第一个是字母但不能是aeiou,第二个是aeiou中的一个,第三个要字母但不能是aeiour,第四个是e
    String a = "^[\\w^aeiou][aeiou][\\w^aeiour]e$";
    boolean make = Pattern.matches(a, "make");
    System.out.println("make = " + make);
}
| 作用 | |
|---|---|
| [a-z] | 中括号表示匹配1个字符,- 表示一个范围。匹配所有的小写字母中一个 | 
| [xyz] | 匹配x或y或z | 
| [^xyz] | ^在中括号中表示取反,除了xyz之外的所有字符 | 
| \d | 数字 | 
| \w | 单词:大小写字母,数字,下划线,相当于[a-zA-Z0-9_] | 
| . | 表示通配符,匹配任意一个字符。注:如果要匹配点号就必须转义,写成\. | 
| () | 表示一组,这里面的字符是一组整体 | 
| {n} | 前面的字符出现n次 | 
| {n,} | 前面的字符出现大于等于n次 | 
| {n,m} | 前面的字符出现大于等于n次,小于等于m次 | 
| + | 前面的字符出现1次到多次 | 
| * | 前面的字符出现0次到多次 | 
| ? | 前面的字符出现0次或1次 | 
| | | 或者 | 
| ^ | 用在正则表达式开头,表示匹配开头 | 
| $ | 用在正则表达式结尾,表示匹配结尾 | 
javascript创建正则
//方式1:
var reg  = /^\d{3}$/;        //创建的正则表达式对象,格式:以/开头和结尾,如果^$都加上就表示严格匹配
reg.test(value)         // 如果value匹配,则返回 true
//方式2:这种方式,因为正则表达式写在一个字符串中,\需要转义
var str = "^\\d{3}$";
var reg = new RegExp(str);
匹配模式
// 忽略大小写比较:i
new RegExp("正则表达式","i")
/正则表达式/i
例子:

[a-z] // 匹配所有的小写字母 
[A-Z] // 匹配所有的大写字母 
[a-zA-Z] // 匹配所有的字母 
[0-9]   // 匹配所有的数字 
[0-9\.\-] // 匹配所有的数字,句号和减号 
[ \f\r\t\n] // 匹配所有的白字符  等价于  \s
[^\\\/\^]   //除了(\)(/)(^)之外的所有字符 
[^\"\']    //除了双引号(")和单引号(')之外的所有字符
^\s*$  	   // 匹配空行。  
处理文本常用的正则
// $1 取匹配到的第一组字符,可以用括号括起来
// 在每行前加内容  aaa
^.{1}    替换成   aaa$1
// 在每行后面加内容 aaa
(.{1})\n    替换成    $1aaa\n
正则获取所有附合条件的字符
private static void lllll() {
    String m3u8Txt ="@12.x.,clkd@23432kdsjflweuqf@2342354";
    Matcher matcher = Pattern.compile("(@[\\d]+)|(ts_[\\d]+)").matcher(m3u8Txt);
    final ArrayList<String> strings = new ArrayList<>();
    while (matcher.find()) {
        strings.add(matcher.group());
    }
    System.out.println("strings = " + Arrays.toString(strings.toArray()));
}
                    
                
                
            
        
浙公网安备 33010602011771号