添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

* :匹配前面元字符0次或多次,/ba*/将匹配b,ba,baa,baaa

+ :匹配前面元字符1次或多次,/ba*/将匹配ba,baa,baaa

? :匹配前面元字符0次或1次,/ba*/将匹配b,ba

多次匹配:

{n} :精确匹配n次;

{n,m} :匹配n-m次;

{n,} :匹配n次以上;

{,n} : 匹配0-n个;

*? 重复任意次,但尽可能少重复

+? 重复1次或更多次,但尽可能少重复

?? 重复0次或1次,但尽可能少重复

{n,m}? 重复n到m次,但尽可能少重复

{n,}? 重复n次以上,但尽可能少重复

或操作符:|

“x|y” :匹配x或y

“hi | hello”:表示一个字符串里有"hi"或者"hello";

“(b|cd)ef”:表示"bef"或"cdef";

“(a|b)*c”:表示一串"a"“b"混合的字符串后面跟一个"c”;

通用元字符:". "

如果想只匹配点,那么需要转义字符 “.” ,匹配其他元字符也一样,用转义字符就可以;

'.'可以替代除换行符之外的任何字符;

“a.[0-9]”:表示一个字符串有一个"a"后面跟着一个任意字符和一个数字;

“^.{3}$”:表示有任意三个字符的字符串(长度为3个字符);

方括号:[ ]

方括号表示某些字符允许在一个字符串中的某一特定位置出现:

“[ab]”:表示一个字符串有一个"a"或"b"(相当于"a|b");

“[a-d]”:表示一个字符串包含小写的’a’到’d’中的一个(相当于"a|b|c|d"或者"[abcd]");

“^[a-zA-Z]”:表示一个以字母开头的字符串;

“[0-9]%”:表示一个百分号前有一位的数字;

“,[a-zA-Z0-9]$”:表示一个字符串以一个逗号后面跟着一个字母或数字结束;

你也可以在方括号里用’ ‘表示不希望出现的字符,’ '应在方括号里的第一位。(如:"%[^a-zA-Z]%"表示两个百分号中不应该出现字母)。

[xyz] :字符集(character set),匹配这个集合中的任一 一个字符(或元字符)

[^xyz] :不匹配这个集合中的任何一个字符

\b :匹配一个单词的边界

\B :匹配一个单词的非边界

\d :匹配一个字数字符,等同于[0-9]

\D :匹配一个非字数字符,等同于[^0-9]

\n :匹配一个换行符

\r :匹配一个回车符

\s :匹配一个空白字符,包括n,r,f,t,v等

\S :匹配一个非空白字符,等于/[^nfrtv]/

\t :匹配一个制表符

\v :匹配一个重直制表符

\w :匹配字母或数字或下划线或汉字,等于[a-zA-Z0-9_]

\W :匹配字母或数字或下划线或汉字以外的字符,等于[^a-zA-Z0-9_]

\x :匹配十六进制数字,等同于[0-9A-Fa-f]。

\X :匹配十六进制数字之外的任意字符,等同于[^0-9A-Fa-f]。

只匹配单独的单词Jerry:”< Jerry \ >“ ,这个只匹配单词两边为空白(空格、制表等)的单词,Jerry_Tom这类则匹配不到。

匹配单词开头: <

匹配单词结尾:>

搜索&替换

(搜索)命令: /正则表达式

(替换)命令: s/正则表达式/替换字符串/选项

选项可以是:i 表示不论大小写都匹配; g 表示匹配当前行中的所有匹配的字符串; d 表示删除

把所有单词help或Help都改为大写的HELP : %s/[Hh]elp/HELP/g

%表示匹配当前文档中所有行,你也可以指定部分行 1,20 s/[Hh]elp/HELP/g

使用单个空格替换一个或多个空格:%s/ \+/ /g

删除所有空行(没有任何字符,除了一个回车符)

:g/^$/d
:g/^[ tab]*[ tab]*$/d

删除含有某些字符的行:g/ERROR/d

删除每行的所有的前导空格:%s/^ *//g

在文件中的每一行的开始插入->(或者其它字符):%s/^/->/

在每一行的尾部加上一个句号(或其他字符):%s/$/。/g

删除以数字开头的行 : %s/^\d.*$//g

删除以[a,b,c]开头的行 : %s/^[a|b|c].*$//g

删除重复行 : %s/^\(.*\)\n\1$/\1/g

使用\(和\)符号括起正则表达式,即可在后面使用\1、\2等变量来访问\(和\)中的内容。

例如:交换列表中所有连字符分隔的条目的顺序ABC : XYZ:%s/\(.*\):\(.*\)/\2 : \1/g

sed用法

用来直接处理文件

简单实例
1、删除所有空行:sed ‘s/^$/d’ *.txt

使用js的replace方法 stringObject.replace( regex p/substr,replacement) 第一个参数可以是正则,可以是string,第二个参数是代替的文本,使用正则则可一次性替代多个字符 let val = " 美 '”“’‘' 女 ,明‘’‘’”“<>”“‘’''‘’ ''星, 萌》《宠,”欧 ”“”“冠“ " let arr = val.split(',').map( function (curr) { return curr.
正则表达式 要要匹配的内容应该有头有尾,就是说要匹配的的区间应把的的前面部分和后面部分都写出来,匹配的字符串才会更加准确 例如相匹配有a的意思就是匹配内容有无数个a或者没有a的行**a的实际匹配内容是全部内容** **.**就是匹配任意一个字符 以a开头就是^a 以a结尾就是a& [^]的意思就是括号里面的内容取反进行匹配 匹配空白行grep -n “^&” 文件名 找出文件中的...
\ 做为转意,即通常在"\"后面的字符不按原来意义解释,如/b/匹配字符"b",当b前面加了反斜杆后/\b/,转意为匹配一个单词的边界。 对 正则表达式 功能字符的还原,如"*"匹配它前面元字符0次或多次,/a*/将匹配a,aa,aaa,加了"\"后,/a\*/将只匹配"a*"。 ^ 匹配一个输入或一行的开头,/^a/匹配"an A",而不匹配"...
正则表达式 中的 特殊字符 一个 正则表达式 可以由简单的字符构成,比如 /abc/,也可以是简单和 特殊字符 的组合,比如 /ab*c/ 。其中 特殊字符 也被称为元字符,在 正则表达式 中是具有特殊意义的专用符号,如 ^ 、$ 、+ 等。 特殊字符 非常多,可以参考: jQuery 手册: 正则表达式 部分 正则表达式 中的边界符(位置符)用来提示字符所处的位置,主要有两个字符
正则表达式 中的 特殊字符 ,就是一些有特殊含义的字符,如“*.txt”中的*,简单的说就是表示任何字符串的意思 如果要查找文件名中有*的文件,则需要对*进行转义,即在其前加一个\。ls \*.txt。 正则表达式 有以下 特殊字符 。需要转义 特别字符说明 匹配输入字符串的结尾位置。如果设置了 RegEx p 对象的 Multiline 属性,则 $ 也匹配 ‘\n' 或 ‘\r'。要匹配 $ 字符本
正则表达式 的正文。 正则表达式 中使用了特殊符号。下面我就将各种符号以及其意义和用法简单的介绍一下(说明:“X以上包括X”): / 表示在其后的文字是特殊符号。例:“n"和"n"是一致的。”/n"和换行符是一致的。 ^ 和输入的开始一致。 $ 和输入的结尾一致。 “" 与此符号之前的文字0次以上相同的话,两者一致。例:"zo"和"zoo”,"z"都一致。 "+ " 与此符号之前的文字1次以上相同的话,两者一致。例:"zo*"和"zoo"一致,但和"z"不一致。 ? 与此符号之前的文字0次或1次相同的话,
String regEx ="[\n`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}【】‘;:”“’。, 、?✅\uD83D\uDFE7]"; Pattern p = Pattern.compile( regEx , Pattern.CASE_INSENSITIVE); Matcher m = p.matcher(str); str = m.repla
literal 匹配文本字符串的字面值 literal foo re1|re2 匹配 正则表达式 re1 或者 re2 foo|bar . 匹配任何字符(除了\n 之外) b.b ^ 匹配字符串起始部分 ^Dear $ 匹配字符串终止部分 /bin/*sh$ * 匹配 0 次或者多次前面...
carl_Carl_ca: ** Error: (vlog-7) Failed to open -f file "tb_top.f" in read mode. No such file or directory. (errno = ENOENT) 求大佬解释 VCS命令行中的-f,-F以及-file参数区别 qq_27695885: 遇到好文章,先赞后收藏 VCS常用命令 suibianlawocao: L49解决了我大半天的困惑,就为这一条点赞!