正则校验-我需要的正则表达式知识

2023-10-27

正则校验:我需要的正则表达式知识

正则表达式由正则表达式引擎提供支持,不同编程环境有不同的正则表达式引擎,在实际使用正则表达式的过程中会有一些差别;


什么是正则表达式

正则表达式是用于描述匹配复杂字符串规则的工具,一个正则表达式对应着一个文本规则;


EP1:查找一段文本中的字符串hq,这是一个姓名的缩写,需要是单独的一个单词

  • 精确匹配字符串hq,处理正则时一般支持忽略大小写的选项,如果选中,那么就可以匹配到hq,HQ,Hq,hQ四种;
  • 如果直接查找字符串HQ,那么可能匹配到其他包含该字符串的单词,而我们要的是精确匹配;
//精确匹配单词hq
"\bhq\b"

\b 是正则支持的特殊代码,也叫元字符(metacharacter),表示单词的分界处,即单词的开头和结尾位置;


EP1-1:hq后面不远处跟着一个dm,应该使用如下正则表达式

//hq 任意个任意字符(但不能有换行) 最后还是dm这个单词
"\bhq\b.*\bdm\b"

. 也是一个元字符,可以匹配除了换行符以外的任意字符;

* 同样是元字符,它不代表字符或位置,而是代表数量,表示*前面的内容可以连续重复使用任意次(可能0次);


EP2:以0开头 然后是两个数字 然后是一个连字符“-”,最后是8个数字

"0\d\d-\d\d\d\d\d\d\d\d"

\d 元字符,匹配一位数字;

-不是元字符 只匹配自己;


EP2-1:为了避免重复,可以修改正则如下

"0\d{2}-\d{8}"

这里{n} 表示前面的\d必须连续重复匹配2次/8次;


元字符

现在我们已经知道了\b.*\d这几个元字符,还有更多,我们结合例子一起看;

\s 元字符,匹配任意的空白符,包括 空格、制表符(Tab)、换行符、中文全角空格等;

\w 元字符,匹配字母或数字或下划线或汉字等;


EP3:匹配以字母a开头的单词

"\ba\w*\b"

EP3-1:匹配刚好6个字符的单词

"\b\w{6}\b"

EP4:匹配一个或多个连续的数字

"\d+"

+ 元字符,和*类似,表示匹配重复1次或更多次;


EP5:填写的QQ号必须为5到12位的数字

"^\d{5,12}$"

^ 元字符,匹配字符串的开始位置;

$ 元字符,匹配字符串的结束位置;

这里使用了^$,则表示校验的整个字符串从开始到结束,都要用\d{5,12}进行匹配;如果不使用,只能保证字符串中包含5到12位的连续数字;

这里的{5,12}表示重复次数不少于5,不大于12;

处理正则时一般支持处理多行的选项,如果选中,^$就表示匹配行的开始和结束位置;【?


JavaScript中的正则表达式

参考JavaScript RegExp 对象;


字符转义

如果要查找元字符本身的话,需要使用\来取消这些符号的特殊意义,如\.\*\\

例如:匹配C:\Windows 使用 C:\\Windows;匹配deerflower.cn使用deerflower\.cn


重复

代码/语法 说明
* 重复0次或多次
+ 重复1次或多次
? 重复0次或1次
{n} 重复n次
{n,} 重复n次或多次
{n,m} 重复n次到m次

例如:匹配一行/整段字符串的第一个单词 使用^\w+


字符类

对于数字 字母 空白符等已经有了对应这些字符集合的元字符,但如果想匹配自定义的字符集合,可以使用方括号;


EP6:匹配任何一个英文元音字母

"[aeiou]"

EP6-1:匹配三个标点符号中的一个

"[.?!]"

EP7:匹配字符范围 0-9 中的一个

"[0-9]"//与\d完全一致

EP7-1:匹配字符范围 0-9大小写字母 中的一个

"[a-z0-9A-Z]"//只考虑英文的话,与\w完全一致

请尝试分析下这个正则:\(?0\d{2}[) -]?\d{8}

  • () 都是元字符,所以这里用了转义;
  • 首先是一个转义字符\(,它能出现0次或1次(?),然后是一个0,后面跟着2个数字(\d{2}),然后是)-空格中的一个,它出现1次或不出现(?),最后是8个数字(\d{8})

上边这个正则会匹配到010)12345678(022-87654321 这样的格式(我们所希望的是匹配(010)88886666,或022-22334455,或029 12345678这样的格式),解决这个问题需要用到分支条件;


分支条件

分支条件指有几种规则,满足其中任意一个就算匹配成功,具体使用|把不同的规则分隔开;


分析正则 0\d{2}-\d{8}|0\d{2}-\d{7}

  • 可以匹配到 两种以连字符分隔的电话号码,一种三位区号、一种四位区号;

需要注意:使用分支条件时,要注意各个条件的顺序;

分析正则:\d{5}-\d{4}|\d{5},如果其条件顺序倒置会发生什么;

  • 如果倒置为\d{5}|\d{5}-\d{4},就是能匹配到5位数字(以及9位数字的前5位);
  • 匹配条件分支时,会从左到右测试每个条件,如果满足某个分支的话,就不会再去匹配其他条件了;

分组

重复单个字符时,需要在字符后加上限定符;要重复多个字符串,则需要使用小括号里指定子表达式(也叫分组);小括号在这里是元字符,表示分组

分析正则:(\d{1,3}\.){3}\d{1,3},这是一个简单的IP地址匹配表达式;

  • (\d{1,3}\.){3}匹配三位数字加上一个英文句号(整体作为一个分组)重复3次;
  • 最后再加上一个1到3位的数字;

但是他可能会匹配到不正确的IP地址,所以实际匹配IP地址会用到这个下面这个冗长的分组:
((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)

仔细分析下,现在我们已经能解读出这个正则表达式所匹配的含义了;


反义

如查找除xxx以外的任意字符,需要用到反义;

反义语法 描述
\W 匹配任意不是 字母数字下划线汉字的字符;
\S 匹配任意不是 空白符的字符;
\D 匹配任意非 数字的字符;
\B 匹配不是单词开头或结束的位置;
[^x] 匹配除了x以外的任意字符;
[^aeiou] 匹配除了aeiou以外的任意字符;

反义示例:

  • \S+ 匹配 不包含空白字符的字符串;
  • <a[^>]+> 匹配 用尖括号括起来的以a开头的字符串;

其他进阶内容

  • 向后引用:通过组号/组名可以实现向后引用之前分组已经匹配的内容;
  • 零宽断言:零宽度正预测先行断言(?=exp),零宽度正回顾后发断言(?<=exp)
  • 负向零宽度断言:零宽度负预测先行断言(?!exp),零宽度负回顾后发断言(?<!exp)
  • 注释:(?#comment)
  • 贪婪与懒惰:表5.懒惰限定符;
  • 处理选项:IgnoreCase(忽略大小写) Multiline(多行模式) Singleline(单行模式) IgnorePatternWhitespace(忽略空白) ExplicitCapture(显式捕获);
  • 平衡组/递归匹配;
  • 其他内容:表7.尚未详细讨论的语法;

这些内容个人觉得相对高级,读了两遍有了一个大概的认识,后续有相关应用再予以深入。


应用实例:

[abc] a或b或c 
. 任意单个字符 
a? 零个或一个a
[^abc] 任意不是abc的字符 
\s 空格 
a* 零个或多个a
[a-z] a-z的任意字符 
\S 非空格 
a+ 一个或多个a
[a-zA-Z] a-z或A-Z 
\d 任意数字 
a{n} 正好出现n次a
^ 一行开头 
\D 任意非数字 
a{n,} 至少出现n次a
$ 一行末尾 
\w 任意字母数字或下划线 
a{n,m} 出现n-m次a
(...) 括号用于分组 
\W 任意非字母数字或下划线 
a*? 零个或多个a(非贪婪)
(a|b) a或b 
\b 单词边界 
(a)...\1 引用分组
(?=a) 前面有a 
(?!a) 前面没有a 
\B 非单词边界

import re

originstr = 'http://upos-sz-mirrorhw.bilivideo.com/upgcxcode/95/97/25aa6429795/256429795-1-32.flv?e=ig8euxZM2rNcNbN37zUVhoMgnwuBhwdEto8g5X10ugNcXBlqNxHxNEVE5XREto8KqJZHUa6m5J0SqE85tZvEuENvNo8g2ENvNo8i8o859r1qXg8xNEVE5XREto8GuFGv2U7SuxI72X6fTr859r1qXg8gNEVE5XREto8z5JZC2X2gkX5L5F1eTX1jkXlsTXHeux_f2o859IB_&uipk=5&nbs=1&deadline=1605519071&gen=playurl&os=hwbv&oi=737348678&trid=6dc40e32c716403881b67bf67f596472u&platform=pc&upsig=1a8747c29f3fbebd9754e8517eb2107c&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=0&orderid=0,3&agrr=1&logo=80000000'
# 匹配以/开头 以?结尾(由于两者是特殊标记 需要进行转义)的字符 且其中不包含/
bstr = r'\/([^\/]*)\?' 
b = re.compile(bstr ,  re.DOTALL)
str_list = b.findall(originstr)
print(str_list) 

按固定格式和位数提取字符串

bstr = r"""
  ^(?<recordType>[\w]{3,3})(?<senderType>[\w]{2,2})(?<senderId>\d{9,9})(?<senderName>[\x00-\xFF]{45,45})(?<ediStandard>[\x00-\xFF]{5,5})(?<creationDateTime>\d{14,14})(?<transmissionDate>\d{8,8})(?<characterSet>[\w\s]{0,15})"""

# 按固定格式提取字符串
b = re.compile(bstr ,  re.DOTALL)
str_list = b.match(content_str)

if str_list:
    linebits = str_list.groupdict()    
    for k, v in linebits.items() :
        # 去除解析之后的字符串的首尾空格
        linebits[k] = v.strip()
    return linebits

使用否定式前向查找提取字符串

import re

originstr = """
    <script>
        var liveUrl = "http://pull102.gzlz307.com/home/6d944f6ab72b3d069517146587a23c39/playlist.m3u8?only-audio=1";
        var liveId = "5190879905407162422";
        var liveStartTime = 1626761082249;
        var isSubscribed = !!0;
    </script>
"""

# 使用 否定式前向查找?! 来模拟逆向匹配:不包含某一字符串 的字符串 ((?!str).)*
bstr = r'liveUrl(((?!var).)*)var' 
b = re.compile(bstr ,  re.DOTALL)
str_list = b.findall(originstr)
print(str_list[0][0])

#  = "http://pull102.gzlz307.com/home/6d944f6ab72b3d069517146587a23c39/playlist.m3u8?only-audio=1";

对提取的日期进行判断是否是有效日期

import re

test_dates_str = """
19971-01-01
1960-00-00
1987-00-00
1981/05/20
1971-1-1
1971-1-0
"""

re_date_get = r'\d{4,5}[-/ ]\d{1,2}[-/ ]\d{1,2}'
re_date_normal = r'((^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(10|12|0?[13578])([-\/\._])(3[01]|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(11|0?[469])([-\/\._])(30|[12][0-9]|0?[1-9])$)|(^((1[8-9]\d{2})|([2-9]\d{3}))([-\/\._])(0?2)([-\/\._])(2[0-8]|1[0-9]|0?[1-9])$)|(^([2468][048]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([3579][26]00)([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][0][48])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][2468][048])([-\/\._])(0?2)([-\/\._])(29)$)|(^([1][89][13579][26])([-\/\._])(0?2)([-\/\._])(29)$)|(^([2-9][0-9][13579][26])([-\/\._])(0?2)([-\/\._])(29)$))'

test_dates = re.compile(re_date_get, re.DOTALL).findall(test_dates_str)

test_dates_dict = {}

for item in test_dates:
    s_item = re.compile(re_date_normal, re.DOTALL).search(item)
    if s_item:
        test_dates_dict[item] = s_item.group(0)
    else:
        test_dates_dict[item] = None
    
test_dates_dict

log:

{'19971-01-01': None,
 '1960-00-00': None,
 '1987-00-00': None,
 '1981/05/20': '1981/05/20',
 '1971-1-1': '1971-1-1',
 '1971-1-0': None}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则校验-我需要的正则表达式知识 的相关文章

  • Linux 文本处理工具

    一 Linux 及Unix平台 sed awk grep 这三个工具都要用到正则表达式 把常用贴出来 1 行的匹配 root mypc sed n 2p etc passwd 打印出第2行 root mypc sed n 1 3p etc
  • perl regex是什么_如何在Perl单行代码中使用Regex匹配多行

    perl regex是什么 Perl one liners with perl s regular expression statement can be a very powerful text processing tools used
  • Java对正则表达式的支持(手机、身份证校验)

    目录 1 数量 单个 字符匹配 2 数量 单个 字符集 可以从里面任选一个字符 3 数量 单个 简化字符集 4 边界匹配 5 数量表示 默认情况下只有添加上了数量单位才可以匹配多位字符 6 逻辑表达式 可以连接多个正则 7 理解字符 的含义
  • DNF管理软件包

    DNF是一款Linux软件包管理工具 用于管理RPM软件包 DNF可以查询软件包信息 从指定软件库获取软件包 自动处理依赖关系以安装或卸载软件包 以及更新系统到最新可用版本 DNF与YUM完全兼容 提供了YUM兼容的命令行以及为扩展和插件提
  • 常用数字电路模块之三:计数器与分频器(二))

    三 分频电路 1 简单的计数器 计数器实质是对输入的驱动时钟进行计数 所以计数器在某种意义上讲 等同于对时钟进行分频 例如一个最大计数长度为N 2 n 从0计数到N 1 的计数器 也就是寄存器位数位n 那么寄存器最高位的输出为N 2 n分频
  • python正则表达式从字符串中提取数字的思路详解(转载)

    python从字符串中提取数字 使用正则表达式 用法如下 总结 匹配字符串的开始 匹配字符串的结尾 b 匹配一个单词的边界 d 匹配任意数字 D 匹配任意非数字字符 x 匹配一个可选的 x 字符 换言之 它匹配 1 次或者 0 次 x 字符
  • Java正则工具类:字母数字下划线、数据库url校验等

    文章目录 前言 一 正则基础语法 二 正则工具类 总结 前言 本文内容观摩的是其他作者的代码 在基础上增加修改了一些 参考原文地址 java用正则表达式 提示 以下是本篇文章正文内容 下面案例可供参考 一 正则基础语法 字符 描述 匹配输入
  • Java的replaceAll()方法

    replaceAll 方法实际是采用正则表达式的规则去匹配的 在regex中 表示一个 在java中一个 也要用 表示 这样 前一个 代表regex中的 后一个 代表java中的 所以字符串转义一次 正则转义一次 那么一个斜扛要写4个 1
  • Linux文本处理工具和正则表达式

    Linux文本处理工具和正则表达式 一 查看 截取和修改文本的工具 1 查看文本的工具 cat 最常用的文件查看命令 当不指明文件或者文件名为一杠 时 读取标准输入 cat OPTION FILE A 显示所有控制符 tab键 I 行结束符
  • 4.4.5 密码验证(2)

    4 当且仅当含数字和字母的密码验证 如果密码当且仅当包含数字和字母 那么该密码的强度是中等强度 当然 它的安全性一般 以下正则表达式能够验证当且仅当包含数字和字母的密码 da zA Z d a zA Z da zA Z 74 正则表达式 7
  • JavaScript最后分水岭——正则表达式

    个人简介 个人主页 微风洋洋 博客领域 编程基础 后端 写作风格 干货 干货 还是tmd的干货 精选专栏 JavaScript 支持洋锅 点赞 收藏 留言 好久不见 甚是想念 大家好 我是微风洋洋 也可以叫我洋锅 细心地小伙伴可能已经发现
  • Java正则表达式验证电话号码

    在注册会员时 经常需要输入电话号码 电话号码是指手机号码或者固定电话 如果输入的内容不合法 则会向用户输出提示 本实例模拟实现电话号码的验证功能 接收用户在控制台输入的电话号码 然后进行判断 并将结果输出 在这里使用 Java正则表达式 一
  • Python3 如何优雅地使用正则表达式(详解五)

    非捕获组命名组 精心设计的正则表达式可能会划分很多组 这些组不仅可以匹配相关的子串 还能够对正则表达式本身进行分组和结构化 在复杂的正则表达式中 由于有太多的组 因此通过组的序号来跟踪和使用会变得困难 有两个新的功能可以帮你解决这个问题 非
  • Java正则校验密码至少包含:字母数字特殊符号中的2种

    一 语法 字符 说明 将下一字符标记为特殊字符 文本 反向引用或八进制转义符 例如 n匹配字符 n n 匹配换行符 序列 匹配 匹配 匹配输入字符串开始的位置 如果设置了 RegExp 对象的 Multiline 属性 还会与 n 或 r
  • 正则表达式工具类

    在实际开发中总会使用到正则表达式匹配数据 我也是在后面查看了一些资料 下面写一个常用的正则表达式匹配集合 正则匹配模式 表示匹配字符串的开始位置 例外 用在中括号中 时 可以理解为取反 表示不匹配括号中字符串 表示匹配字符串的结束位置 表示
  • 元字符的详细解析

    上一篇文章介绍了正则的用处以及正则中这些元字符的基本含义 但是如果我们只知道那些元字符的含义 不知道怎么使用和加以练习 那么对于正则我们还只是看见了门槛 并没有踏入 那么本篇文章就让我们迈起脚步正式走入正则的世界吧 let s go 我的学
  • Python进阶之CrawlSpider的应用及Scrapy配置项的引用

    1 CrawlSpider的应用 CrawlSpider可以根据规则自动分析链接的数据并按照正则的要求取出需要的数据 scrajpy startproject yg cd yg 注意 t crawl参数 scrapy genspider t
  • BeautifulSoup基本用法总结

    BeautifulSoup是Python的一个库 最主要的功能就是从网页爬取我们需要的数据 BeautifulSoup将html解析为对象进行处理 全部页面转变为字典或者数组 相对于正则表达式的方式 可以大大简化处理过程 0x01 安装 建
  • JavaEE - 正则表达式、日期时间类、Math、Random、System、Runtime、大数值运算类

    一 正则表达式 用来描述或者匹配一系列符合某个语句规则的字符串 正则表达式定义了字符串的模式 可以用来搜索 编辑或处理文本 正则表达式是由普通字符 例如字符 a 到 z 以及特殊字符 称为 元字符 组成的文字模式 模式描述在搜索文本时要匹配
  • Python 正则表达式指南

    文章目录 1 正则表达式基础 1 1 简单介绍 1 2 数量词的贪婪模式与非贪婪模式 1 3 反斜杠的困扰 1 4 匹配模式 2 re模块 2 1 开始使用re 2 2 Match 2 3 Pattern 1 正则表达式基础 1 1 简单介

随机推荐

  • 锐捷路由技术系列

    1 锐捷路由技术 锐捷路由器基本功能的初始化配置 主机名 推荐配置 Ruijie config hostnameNAME txt 将设备命名为NAME txt 接口描述 推荐配置 XWRJ config interfaceinterface
  • Linux less命令和Linux head命令

    less 工具也是对文件或其它输出进行分页显示的工具 应该说是linux正统查看文件内容的工具 功能极其强大 less 的用法比起 more 更加的有弹性 在 more 的时候 我们并没有办法向前面翻 只能往后面看 但若使用了 less 时
  • python之类、对象详解,实例化代码示例,构造函数与析构函数,私有属性和方法

    世界万物节皆可分类 世界万物皆可对象 只要对象 肯定属于某种类 只要对象 肯定有属性 类 具有相同属性 方法对象的抽象 对象 类的实例化 每个对象可有不同属性 类的三大特性 封装 将数据方法放到类里 类就变成了一个胶囊或者容器 继承 一个类
  • 安装Cpython解释器(day02)

    安装Cpython解释器 Python解释器目前已支持所有主流操作系统 在Linux Unix Mac系统上自带Python解释器 在Windows系统上需要安装一下 具体步骤如下 1 1 下载python解释器 打开官网 https ww
  • Sql执行平时都很快但是偶尔就会很慢

    Sql执行平时都很快但是偶尔就会很慢 记录一下在翻看MySQL技术文章的资料 觉得很不错就自己记录一下 大部分来源于网络 SQL执行变慢的原因 一条Sql执行很慢 那是每次执行都慢还是偶尔慢 简单的总结一下 一 针对偶尔慢的原因 数据库在刷
  • 蓝桥杯零基础冲过赛-第22天

    注意 因为蓝桥杯大部分题目都会涉及到数据规模过大问题 所以大整数是解决数据规模过大的问题的其中一种最简便的方式 核心 竖式个位对齐原理 文章目录 大整数加法 大整数减法 大整数乘法 大整数除法 大整数余数 大整数加法 意义 因为数据类型有s
  • 摸鱼时间少? 是时候学会用Vue自定义指令进行业务开发了

    文章目录 前言 一 博主用Vue自定义指令在业务中实现了什么需求 1 首屏Loading切换指令 用来占位 支持调节Loading样式 2 复制指令 3 文件流形式下载后端数据 转blob下载 4 防抖 支持设置延迟时间 5 按钮或菜单权限
  • 永远怀念左耳朵耗子陈皓——IT界的失去

    2023年 中国IT界遭遇了一次巨大的损失 左耳朵耗子陈皓先生的离世让人震惊和悲伤 作为一位杰出的技术专家和开源倡导者 他为IT界做出了卓越贡献 本文将回顾他的职业生涯和他对IT界的重要影响 以及他离世后的深远意义 第一部分 IT界的璀璨明
  • Opencv

    Opencv 检测框线 模糊判断 计算图片相似度 开操作检测横竖线 拉普拉斯方差判断模糊度 直方图统计判断图片相似性 开操作检测横竖线 开操作是先选定合适结构元对图像进行腐蚀处理再用相同结构元对图像进行膨胀处理 开操作可以平滑物体轮廓 断开
  • C++并发编程(5):std::unique_lock、互斥量所有权传递、锁的粒度

    std unique lock lt gt 灵活加锁 参考博客 线程间共享数据 使用互斥量保护共享数据 C 多线程unique lock详解 多线程编程 五 unique lock 相较于std lock guard std unqiue
  • iOS - 线程中常见的几种锁

    线程锁主要是用来解决 共享资源 的问题 实际开发中或多或少的都会用到各类线程锁 为了线程的安全我们有必要了解常见的几种锁 下面是本人查看一些大牛的博客然后整理的内容 加上自己的一些见解 水平有限 如果不慎有误 欢迎交流指正 常见锁列举 自旋
  • OpenStack 学习笔记(一) 概况

    偶然机会 需要了解一下OpenStack的概况 因此与几个同事一起看了一下 此学习笔记是记录一下学习的知识点 备自己以后回顾复习 一 OpenStack 概况 OpenStack是一个由NASA 美国国家航空航天局 和Rackspace合作
  • python处理wav文件时出现error:X和Y不在同一维度

    python处理wav文件时出现error X和Y不在同一维度 ValueError x and y must have same first dimension but have shapes 1290240 and 2580480 记录
  • Python 动态规划解决不同路径问题

    目录 一 LeetCode 62 不同路径 1 题目描述 2 解题思路 3 代码 二 LeetCode 63 不同路径II 1 题目描述 2 解题思路 3 代码 三 LeetCode 64 最小路径和 1 题目描述 2 解题思路 3 代码
  • 初识Django

    虚拟环境 python pip install Virtualenv pip install Virtualenvwrapper win workon 查看当前虚拟环境 mkvirtualenv xx 创建虚拟环境xx 默认的虚拟环境存放的
  • 编译系统总结篇-Android10.0编译系统(十一)

    Android取经之路 的源码都基于Android Q 10 0 进行分析 Android取经之路 系列文章 系统启动篇 Android系统架构Android是怎么启动的Android 10 0系统启动之init进程Android10 0系
  • Linux CentOS7 添加中文输入法

    在安装CentOS7时 现在默认安装了桌面中文系统 可以切换为英文 中英文可以按要求随时更换 而在CentOS7桌面环境下 显示中文非常方便 正确 但不能录入中文 在远程登录系统的情况下 不论是系统语言 LANG 设置为中文或英文 都可以在
  • 获取lib库中Filler/buffer/CK单元的类型——innovus

    1 Filler的所有类型 命令 dbGet dbGet head allCells name FIL p name 2 BUFFER的所有类型 命令 dbGet dbGet head allCells name BUF p name 3
  • 实时时钟芯片DS1302

    一 DS1302主要介绍 1 DS1302 的特点 DS1302 是 DALLAS 达拉斯 公司推出的一款涓流充电时钟芯片 DS1302 实时时钟芯片广泛应用于电话 传真 便携式仪器等产品领域 它的主要性能 指标如下 1 DS1302 是一
  • 正则校验-我需要的正则表达式知识

    正则校验 我需要的正则表达式知识 正则表达式由正则表达式引擎提供支持 不同编程环境有不同的正则表达式引擎 在实际使用正则表达式的过程中会有一些差别 什么是正则表达式 正则表达式是用于描述匹配复杂字符串规则的工具 一个正则表达式对应着一个文本