首页 > 系统相关 >linux 中正则表达式?、+、*、及.*的区别

linux 中正则表达式?、+、*、及.*的区别

时间:2023-01-05 16:45:30浏览次数:53  
标签:匹配 区别 正则表达式 pc1 exon linux test txt root

 

001、?表示匹配0次或者1次

atcg?t 能够匹配 atct 或 atcgt,但是不能匹配 atcggt。

 

测试:

[root@pc1 test]# ls
a.txt
[root@pc1 test]# cat a.txt
atct    888
atcggk  333
atcgt   444
atcgggkx        3333
[root@pc1 test]# awk '$1 ~ /atcg?t/' a.txt   ## g?表示匹配g0次或者匹配g1次
atct    888
atcgt   444

 

 

 

002、+ 表示匹配之前的项 1 次或多次

exon-9+能够匹配 exon-99 和 exon-9,但是不能匹配 exon-。

 

测试:

[root@pc1 test]# ls
a.txt
[root@pc1 test]# cat a.txt
exon-99 888
exon-9  666
exon-   333
exon-88 777
[root@pc1 test]# awk '$1 ~ /exon-9+/' a.txt
exon-99 888
exon-9  666

 

 

003、*表示匹配之前的项 0 次或多次

exon-9*能够匹配 exon-*,但是不能匹配 exon。

[root@pc1 test]# ls
a.txt
[root@pc1 test]# cat a.txt
exon-99 888
exon-9  666
exon-   333
exon-88 777
exon88  777
[root@pc1 test]# awk '$1 ~ /exon-9*/' a.txt   ## 9*表示匹配90次或者多次
exon-99 888
exon-9  666
exon-   333
exon-88 777

 

 

004、.* 表示匹配任意字符0次或者多次, 一般指匹配所有。

 

小结:

[root@pc1 test]# ls
a.txt
[root@pc1 test]# cat a.txt
cl jjj
col kkk
coool mmm
cooool nnn
xxxx yyyy
[root@pc1 test]# awk '$1 ~ /co?l/' a.txt    ## ?表示匹配前一个字符0次或者多次
cl jjj
col kkk
[root@pc1 test]# cat a.txt
cl jjj
col kkk
coool mmm
cooool nnn
xxxx yyyy
[root@pc1 test]# awk '$1 ~ /co+l/' a.txt       ## +表示匹配前一个字符1次或者多次
col kkk
coool mmm
cooool nnn

 

 

[root@pc1 test]# ls
a.txt
[root@pc1 test]# cat a.txt
cl jjj
col kkk
coool mmm
cooool nnn
xxxx yyyy
[root@pc1 test]# awk '$1 ~ /co*l/' a.txt    ## *号表示匹配0次或者多次
cl jjj
col kkk
coool mmm
cooool nnn
[root@pc1 test]# cat a.txt
cl jjj
col kkk
coool mmm
cooool nnn
xxxx yyyy
[root@pc1 test]# awk '$1 ~ /co.*l/' a.txt    ## .*表示匹配任意字符0次或者多次
col kkk
coool mmm
cooool nnn

 

参考:https://mp.weixin.qq.com/s?__biz=MzU1NTk0MTUxMg==&mid=2247490679&idx=2&sn=9c2c050c02bb106839fab7ec72a2a0ae&chksm=fbcdf790ccba7e8659943e72198aa5a86ecac362841e19de519fe0bdefdf83708bb743203d46&mpshare=1&scene=23&srcid=01050wuMhaTBRKnW8dsga2B8&sharer_sharetime=1672894580394&sharer_shareid=50b75c6a886e09824b582fb782a7678b#rd

 

标签:匹配,区别,正则表达式,pc1,exon,linux,test,txt,root
From: https://www.cnblogs.com/liujiaxin2018/p/17027984.html

相关文章

  • 服务器硬盘sas和sata有什么区别
    一、主体不同1、sas硬盘:是并行SCSI接口之后开发出的全新接口。2、sata硬盘:存储结点由存储器控制接口MCI和SATA硬盘控制器构成。二、特点不同1、sas硬盘:采用串行技术以获......
  • 六款常用的linux C/C++ IDE
     一、AnjutaAnjuta是一个多语言的IDE,它最大的特色是灵活,同时打开多个文件,内嵌代码级的调试器(调用gdb),应用程序向导(Applicationwizards)可以方便的帮助你创建GNOME程序而不......
  • linux 中 [^] 正则表达式,匹配不在中括号内的任意一个字符。
     [^]:匹配不在中括号内的任意一个字符。中括号内可以是一个字符组或字符范围; 1[^01]能够匹配12和13,但是不匹配11和10;A[^0-9]匹配A以及随后除数字外的任意单......
  • Linux 添加nacos守护进程
    1、编写启动服务文件 /lib/systemd/system/nacos.service#vim/lib/systemd/system/nacos.service添加以下内容[Unit]Description=nacosAfter=network.target[Servi......
  • 前端利用formData格式进行数据上传,前端formData 传值 和 json传值的区别?
    前端利用formData格式进行数据上传,前端formData传值和json传值的区别? contentType常见的格式text/plain:纯文本格式application/json:JSON数据格式application/......
  • JavaScript之正则表达式
    JavaScript之正则表达式search()方法&replace()1<!DOCTYPEhtml>2<html>3<head>4<metacharset="utf-8">5<title>JavaScript正则表......
  • linux多进程开发(二)使用pipe进行父子进程通讯
    运行环境win11linux子系统Ubuntu2204g++11.3.0LinuxDESKTOP-XXXXX5.15.79.1-microsoft-standard-WSL2#1SMPWedNov2301:01:46UTC2022x86_64x86_64x86_6......
  • linux 中echo 命令输出感叹号
     001、直接使用双引号输出[root@pc1test2]#echo"helloworld!"##双引号输出感叹号报错-bash:!":eventnotfound  002、测试转义字符[root@pc1......
  • Sql Server 2005各大版本区别与下载
    SQLServer2005是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。SQLServer2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存......
  • 基于Linux下的Ubuntu操作系统常用命令
    一 .linux操作系统的特点1、linux下一切皆文件2、linux系统就像一个倒置数3、linux系统支持多用户、多任务二.Ubuntu--“乌班图”操作系统Ubuntu是一个以桌面应......