• 正则表达式在各种语言或工具中使用


    1.python中使用

    """
    @author :Eric-chen
    @contact :sygcrjgx@163.com
    @time :2020/8/13 17:43
    @desc :
    """
    import re
    
    # pattern=re.compile("^.*(ods_ogg_erp_cd[w-]{1,1000}).*$")
    pattern=re.compile("ods_ogg_erp_cd[w-]{1,1000}")
    
    with open('F:pythoncodespythonLearnmappingScript_erp_cd_e5_26.xml', 'r',encoding='utf8') as f:
        line=f.readline()
        while line:
            m=pattern.findall(line)
            if m:
                print(m)
            line=f.readline()
    

    2.java中使用 

    package com;
    
    import org.apache.commons.io.FileUtils;
    
    import java.io.File;
    import java.io.IOException;
    import java.util.List;
    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    public class test {
        public static void main(String[] args) throws IOException {
            Pattern pattern = Pattern.compile("ods_ogg_erp_cd[\w-]{1,1000}");
            String path = "F:\python\codes\pythonLearn\mappingScript_erp_cd_e5_26.xml";
            File file = new File(path);
            List<String> stringList = FileUtils.readLines(file, "utf-8");
            for (String line : stringList) {
                Matcher matcher = pattern.matcher(line);
                if (matcher.find())
                    System.out.println(matcher.group(0));
            }
        }
    }
    

    3.Sql中使用

    create table t_0814 (col1 varchar2(10));
    insert into t_0814 values ('aaa');
    insert into t_0814 values ('aaa');
    insert into t_0814 values ('aaa');
    insert into t_0814 values ('aaa');
    insert into t_0814 values ('BBB');
    
    select * from t_0814 where regexp_like(col1,'[a-z]');
    

    4.shell命令

    #!/bin/bash
    grep "ods_ogg_erp_cdw{1,1000}" /root/mappingScript_erp_cd_e3_09.xml >>tmp.txt
    let i=0
    while read line
    do
      line=${line#*>}
      echo ${line%<*}
      let i=i+1
    done <tmp.txt
    rm -rf tmp.txt
    
    echo "$i"
    

    5.vi 

    g/pattern/d 是找到pattern, 删之

    v/pattern/d 是找到非pattern,删之

     :v/ods_ogg_erp_cdw{1,1000}/d

    :%s/ <datahubTopic>/

    正则替换

    :s/            <datahubTopic>/

    正常替换

    :%s/</datahubTopic>/  有问题

    用#作分割符,这样可以避免和/ 冲突。

    :%s#</datahubTopic>/ 

     

     

  • 相关阅读:
    nodejs关于前后端图片上传的思路及实现代码
    vue项目better-scroll使用注意点
    nuxt.js的使用和开发,一款vue基于服务器SSR渲染工具
    vue-cli3.0中自定css、js和图片的打包路径
    Vue.js watch监视属性
    React Developers的10个超实用神奇工具
    Vue 3.0 体验 Vue Function API
    Dojo Store 概念详解
    React Native 实现城市选择组件
    java 环境变量 设置 问题
  • 原文地址:https://www.cnblogs.com/jycjy/p/13498164.html
Copyright © 2020-2023  润新知