linux通配符和正则表达式

2023-11-09

1、 通配符

通配符是shell在做PathnameExpansion时用到的。说白了一般只用于文件名匹配,它是由shell解析的,比如findlscpmv等。

 

1、1 Shell常见通配符:

通配符

含义

实例

*

匹配 0 或多个字符

a*b a与b之间可以有任意长度的任意字符, 也可以一个也没有, 如aabcb, axyzb, a012b, ab。

?

匹配任意一个字符

a?b a与b之间必须也只能有一个字符, 可以是任意字符, 如aab, abb, acb, a0b。

[list]

匹配 list 中的任意单一字符

a[xyz]b  a与b之间必须也只能有一个字符, 但只能是 x 或 y 或 z, 如: axb, ayb, azb。

[!list]或[^list]

匹配 除list 中的任意单一字符

a[!0-9]b a与b之间必须也只能有一个字符, 但不能是阿拉伯数字, 如axb, aab, a-b。

[c1-c2]

匹配 c1-c2 中的任意单一字符 如:[0-9] [a-z]

a[0-9]b 0与9之间必须也只能有一个字符 如a0b, a1b... a9b。

[!c1-c2]或[^c1-c2]

匹配不在c1-c2的任意字符

a[!0-9]b 如acb adb

{string1,string2,...}

匹配 sring1 或 string2 (或更多)其一字符串

a{abc,xyz,123}b 列出aabcb,axyzb,a123b

 

1、2 shell Meta字符(元字符)

shell 除了有通配符之外,还有一系列自己的其他特殊字符。

字符

说明

IFS

由 <space> 或 <tab> 或 <enter> 三者之一组成(我们常用 space )

CR

由 <enter> 产生

=

设定变量

$

取变量值或取运算值

重定向 stdout

重定向 stdin

|

管道符号

&

重导向 file descriptor ,或将命令置于背景执行

( )

将其内的命令置于 nested subshell 执行,或用于运算或命令替换

{ }

将其内的命令置于 non-named function 中执行,或用在变量替换的界定范围

;

在前一个命令结束时,而忽略其返回值,继续执行下一个命令

&&

在前一个命令结束时,若返回值为 true,继续执行下一个命令

||

在前一个命令结束时,若返回值为 false,继续执行下一个命令

!

运算意义上的非(not)的意思

#

注释,常用在脚本中

\

转移字符,去除其后紧跟的元字符或通配符的特殊意义

 

1、3 转义字符

有时候,我们想让 通配符,或者元字符 变成普通字符,不需要使用它。那么这里我们就需要用到转义符了。 shell提供转义符有三种。

字符

说明

‘’(单引号)

硬转义,其内部所有的shell 元字符、通配符都会被关掉。

“”(双引号)

软转义,其内部只允许出现特定的shell 元字符:$用于参数替换 `(反单引号,esc键下面)用于命令替换

\(反斜杠)

又叫转义,去除其后紧跟的元字符或通配符的特殊意义

举例:



2、正则表达式

正则表达式是用来匹配字符串的,针对文件内容的文本过滤工具里,大都用到正则表达式,如vigrepawksed等。

另外,这篇文章只针对Linux下的文本过滤工具的正则表达式进行讨论,其他的一些编程语言,如C++c regex,c++ regex,boost regex),javapython等都有自己的正则表达式库。

简单点来说,正则表达式是对一组正在处理的文本的描述。

例1:查找文件test中出现单词hi,并且若干字符后出现单词Jerry的行

$ grep -E"\<hi\>.+\<Jerry\>" test

ni hao hi nihao Jerrydsfds

 

例2:查找文件test中出现以hi开头的单词,并且若干字符后出现以Jerry结尾的单词的行

grep -E "\<hi.+Jerry\>"test

ni hao hi nihao Jerrydsfds

wo buhao hiwuyanpingjfkjk Jerry

wo henhao hiwuyanJerry

 

在正则表达式的使用过程中,一些字符是以特定方式处理的。最常使用的特殊字符如下:

字符

含义

^

指向一行的开头

$

指向一行的结尾

.

任意单个字符

[]

字符范围。如[a-z]

如果想将上述字符用作普通字符,就需要在它们前面加上\字符。例如,如果想使用$字符,你需要将它写为\$

在方括号中还可以使用一些有用的特殊匹配模式,如下:

匹配模式

含义

[:alnum:]

字母与数字字符,如grep[[:alnum:]] words.txt

[:alpha:]

字母

[:ascii:]

ASCII字符

[:blank:]

空格或制表符

[:cntrl:]

ASCII控制字符

[:digit:]

数字

[:graph:]

非控制、非空格字符

[:lower:]

小写字母

[:print:]

可打印字符

[:punct:]

标点符号字符

[:space:]

空白字符,包括垂直制表符

[:upper:]

大写字母

[:xdigit:]

十六进制数字

另外,如果指定了用于扩展的-E选项,那些用于控制匹配完成的其他字符可能会遵循正则表达式的规则,对于grep命令,我们还需要在这些字符前面加上\,下表是扩展部分一览:

选项

含义

?

最多一次

*

必须匹配0次或多次

+

必须匹配1次或多次

{n}

必须匹配n次

{n,}

必须匹配n次或以上

{n,m}

匹配次数在n到m之间,包括边界

 

3、通配符和正则表达式比较

(1)通配符和正则表达式看起来有点像,不能混淆。可以简单的理解为通配符只有*,?,[],{}这4种,而正则表达式复杂多了。

2*在通配符和正则表达式中有其不一样的地方,在通配符中*可以匹配任意的0个或多个字符,而在正则表达式中他是重复之前的一个或者多个字符,不能独立使用的。比如通配符可以用*来匹配任意字符,而正则表达式不行,他只匹配任意长度的前面的字符。

 

4、grep

引自:http://hi.baidu.com/hzslqt/blog/item/dbd0ea4e5145f819b3de05d6.html

1. grep简介

    grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。Unix的grep家族包括grep、egrep和fgrep。egrep和fgrep的命令只跟grep有很小不同。egrep是grep的扩展,支持更多的re元字符, fgrep就是fixed grep或fast grep,它们把所有的字母都看作单词,也就是说,正则表达式中的元字符表示回其自身的字面意义,不再特殊。linux使用GNU版本的grep。它功能更强,可以通过-G、-E、-F命令行选项来使用egrep和fgrep的功能。

    grep的工作方式是这样的,它在一个或多个文件中搜索字符串模板。如果模板包括空格,则必须被引用,模板后的所有字符串被看作文件名。搜索的结果被送到屏幕,不影响原文件内容。

    grep可用于shell脚本,因为grep通过返回一个状态值来说明搜索的状态,如果模板搜索成功,则返回0,如果搜索不成功,则返回1,如果搜索的文件不存在,则返回2。我们利用这些返回值就可进行一些自动化的文本处理工作。

2. grep正则表达式元字符集(基本集)

^       :锚定行的开始 如:'^grep'匹配所有以grep开头的行。

$        :锚定行的结束 如:'grep$'匹配所有以grep结尾的行。

.       :匹配一个非换行符的字符 如:'gr.p'匹配gr后接一个任意字符,然后是p。

*       :匹配零个或多个先前字符 如:'*grep'匹配所有一个或多个空格后紧跟grep的行。 .*一起用代表任意字符。

[]       :匹配一个指定范围内的字符,如'[Gg]rep'匹配Grep和grep。

[^]      :匹配一个不在指定范围内的字符,如:'[^A-FH-Z]rep'匹配不包含A-R和T-Z的一个字母开头,紧跟rep的行。

.. :标记匹配字符,如'love',love被标记为1

\<      :锚定单词的开始,如:'\<grep'匹配包含以grep开头的单词的行。

\>       :锚定单词的结束,如'grep\>'匹配包含以grep结尾的单词的行。

x\{m\}   :重复字符x,m次,如:'o\{5\}'匹配包含5个o的行。

x\{m,\} :重复字符x,至少m次,如:'o\{5,\}'匹配至少有5个o的行。

x\{m,n\} :重复字符x,至少m次,不多于n次,如:'o\{5,10\}'匹配5-10个o的行。

\w       :匹配文字和数字字符,也就是[A-Za-z0-9],如:'G\w*p'匹配以G后跟零个或多个文字或数字字符,然后是p。

\W       :\w的反置形式,匹配一个或多个非单词字符,如点号句号等。

\b       :单词锁定符,如: '\bgrepb\'只匹配grep。

3. 用于egrep和 grep -E的元字符扩展集

+       :匹配一个或多个先前的字符。如:'[a-z]+able',匹配一个或多个小写字母后跟able的串,如loveable,enable,disable等。

?       :匹配零个或多个先前的字符。如:'gr?p'匹配gr后跟一个或没有字符,然后是p的行。

a|b|c    :匹配a或b或c。如:grep|sed匹配grep或sed

()       :分组符号,如:love(able|rs)ov+匹配loveable或lovers,匹配一个或多个ov。

x{m},x{m,},x{m,n} :作用同x\{m\},x\{m,\},x\{m,n\}

5. Grep命令选项

   -a或--text   不要忽略二进制的数据。

   -A   <显示列数>--after-context=<显示列数>    除了显示符合范本样式的那一列之外,并显示该列之后的内容。

   -b或--byte-offset    在显示符合范本样式的那一列之前,标示出该列第一个字符的位编号。

   -B<显示列数>--before-context=<显示列数>    除了显示符合范本样式的那一列之外,并显示该列之前的内容。

   -c或--count   计算符合范本样式的列数。

   -C<显示列数>--context=<显示列数>-<显示列数>    除了显示符合范本样式的那一列之外,并显示该列之前后的内容。

   -d<进行动作>--directories=<进行动作>    当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。

   -e<范本样式>--regexp=<范本样式>    指定字符串做为查找文件内容的范本样式。

   -E或--extended-regexp    将范本样式为延伸的普通表示法来使用。

   -f<范本文件>--file=<范本文件>    指定范本文件,其内容含有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每列一个范本样式。

   -F或--fixed-regexp    将范本样式视为固定字符串的列表。

   -G或--basic-regexp    将范本样式视为普通的表示法来使用。

   -h或--no-filename    在显示符合范本样式的那一列之前,不标示该列所属的文件名称。

   -H或--with-filename    在显示符合范本样式的那一列之前,表示该列所属的文件名称。

   -i或--ignore-case    忽略字符大小写的差别。

   -l或--file-with-matches    列出文件内容符合指定的范本样式的文件名称。

   -L或--files-without-match    列出文件内容不符合指定的范本样式的文件名称。

   -n或--line-number    在显示符合范本样式的那一列之前,标示出该列的列数编号。

   -q或--quiet或--silent    不显示任何信息。

   -r或--recursive   此参数的效果和指定“-d recurse”参数相同。

   -s或--no-messages    不显示错误信息。

   -v或--revert-match    反转查找。

   -V或--version   显示版本信息。

   -w或--word-regexp    只显示全字符合的列。

   -x或--line-regexp    只显示全列符合的列。

   -y    此参数的效果和指定“-i”参数相同。

   --help    在线帮助。

6. 实例

    要用好grep这个工具,其实就是要写好正则表达式,下面列几个例子,讲解正则表达式的写法。

$ ls -l | grep '^a'

    通过管道过滤ls -l输出的内容,只显示以a开头的行。

$ grep 'test' d*

    显示所有以d开头的文件中包含test的行。

$ grep 'test' aa bb cc

    显示在aa,bb,cc文件中匹配test的行。

$ grep '[a-z]\{5\}' aa

    显示所有包含每个字符串至少有5个连续小写字符的字符串的行。

$ grep 'west.*\1' aa

    如果west被匹配,则es就被存储到内存中,并标记为1,然后搜索任意个字符(.*),这些字符后面紧跟着另外一个es(\1),找到就显示该行。如果用egrep或grep -E,就不用"\"号进行转义,直接写成'w(es)t.*\1'就可以了。

    再讲解一个具体应用的例子。

    查询所有位于当前目录下的.cs文件中的Main,通过grep,可以轻松快速地完成这项任务,命令如下:

grep ‘Main’ *.cs

输出结果为:

ChineseDemo.cs: publicstatic void Main()

RegDemo1.cs: static voidMain(string[] args)

RegDemo2.cs:   public static void Main()

RegDemo3.cs: publicstatic void Main()

    可见,通过grep真的可以找到相关目录中符合条件的所有文件,并能打印出查询到的字符串所位于的那行内容。如果只想确定哪些文件含有Main,而不需打印相应行的内容,那么可以使用以下命令:?

grep –l‘Main’ *.cs

输出结果为:

ChineseDemo.cs

RegDemo1.cs

RegDemo2.cs

RegDemo3.cs

只有相应的文件名称被显示。

    在找到了含有Main字符串的几个文件后,如果想粗略地查看某一具体文件的里源代码的相关信息,比如查看RegDemo1.cs文件中含有Main这一行的前后三行,相关的命令如下:

grep –C 3 ‘Main’ RegDemo1.cs

输出结果为:

class GroupingApp

{

   static void Main(string[] args)

    {

       Reg7();

}

输出结果完全符合需求,static void Main(string[] args)这一行前后三行范围内的所有代码被全部打印出来(第一行是空行)。

    以上的查询字符串没有对查找结果是否为一个完整的单词进行限制,也就是说TheMain和Main_Func都会被认定为查询目标。如果想限定该查询字符串为一个完整单词,那么可以使用\w参数,相关命令如下:

grep –w‘Main’ *.cs

结果为:

ChineseDemo.cs: publicstatic void Main()

RegDemo1.cs: static voidMain(string[] args)

RegDemo2.cs: publicstatic void Main()

RegDemo3.cs: publicstatic void Main()

另外举例如下:

1)显示/etc/passwd中的一位数或两位数(锚定词首、记尾、分组、转义、次数匹配)


2)找出当前系统上用户名和默认shell相同的用户(行首、行尾锚定)(开始单词和结束单词一样)


3)grep配合其它命令的用法,找出本机的IP地址,只显示IP段(管道、cut)

[root@nmshuishui ~]# ifconfig eth0 | grep "inet addr:" | cut -d:-f2 | cut -d' ' -f1

192.168.1.102

 

参考:

1、http://www.cnblogs.com/chengmo/archive/2010/10/17/1853344.html

2、http://blog.csdn.net/huiguixian/article/details/6284834

3、http://blog.csdn.net/wealoong/article/details/8015576

4、Linux程序设计第四版

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

linux通配符和正则表达式 的相关文章

  • 使用 grep 查找包含所有搜索字符串的行

    我有一个文件 其中包含很多与此类似的行 id 2796 some model Profile message type MODEL SAVE fields account 14 address null modification times
  • Grep 和 Python

    我需要一种通过 Unix 命令行中的正则表达式使用 grep 搜索文件的方法 例如 当我在命令行中输入 python pythonfile py RE file to be searched 我需要正则表达式 RE 在文件中搜索并打印出匹配
  • nginx 上的多个网站和可用网站

    通过 nginx 的基本安装 您的sites available文件夹只有一个文件 default 怎么样sites available文件夹的工作原理以及如何使用它来托管多个 单独的 网站 只是为了添加另一种方法 您可以为您托管的每个虚拟
  • 我可以从命令行打印 html 文件(带有图像、css)吗?

    我想从脚本中打印带有图像的样式化 html 页面 谁能建议一个开源解决方案 我使用的是 Linux Ubuntu 8 04 但也对其他操作系统的解决方案感兴趣 你可以给html2ps http user it uu se jan html2
  • sendfile64 只复制约2GB

    我需要使用 sendfile64 复制大约 16GB 的文件 到目前为止我所取得的成就是 include
  • arm64和armhf有什么区别?

    Raspberry Pi Type 3 具有 64 位 CPU 但其架构不是arm64 but armhf 有什么区别arm64 and armhf armhf代表 arm hard float 是给定的名称Debian 端口 https
  • 如何将目录及其子目录中的所有 PDF 文件复制到一个位置?

    如何全部复制PDF文件从目录及其子目录到单个目录 实际上还有更多的文件 并且深度有些任意 假设四个目录的最大深度是公平的 我想这些文件需要重命名 如果a pdf例如 位于多个目录中 因为我会adding https ebooks stack
  • Linux 内核标识符中前导和尾随下划线的含义是什么?

    我不断遇到一些小约定 比如 KERNEL Are the 在这种情况下 是内核开发人员使用的命名约定 还是以这种方式命名宏的语法特定原因 整个代码中有很多这样的例子 例如 某些函数和变量以 甚至 这有什么具体原因吗 它似乎被广泛使用 我只需
  • 将 PDF 转换为 600dpi 的 TIFF 和 jpg 96 dpi

    我想使用 ImageMagick 从 Python 脚本将 pdf 转换为 600 dpi 的 tiff 和 96 dpi 的 jpg 我使用 imagemagick 命令行完成了这项任务 但我想使用python中的Imagemagick将
  • Linux:在文件保存时触发 Shell 命令

    我想在修改文件时自动触发 shell 命令 我认为这可以通过注册 inotify 挂钩并调用来在代码中完成system 但是是否有更高级别的 bash 命令可以完成此任务 尝试 inotify 工具 我在复制链接时遇到问题 抱歉 但 Git
  • 安装J语言的JQt IDE,出现错误

    我一直按照这里的说明进行操作 http code jsoftware com wiki System Installation Linux http code jsoftware com wiki System Installation L
  • 使用 sh 运行 bash 脚本

    我有 bash 脚本 它需要 bash 另一个人尝试运行它 sh script name sh 它失败了 因为 sh 是他的发行版中 dash 的符号链接 ls la bin sh lrwxrwxrwx 1 root root 4 Aug
  • jpegtran 优化而不更改文件名

    我需要优化一些图像 但不更改它们的名称 jpegtran copy none optimize image jpg gt image jpg 但是 这似乎创建了 0 的文件大小 当我对不同的文件名执行此操作时 大小仍然完全相同 怎么样 jp
  • Linux 中什么处理 ping?

    我想覆盖 更改 linux 处理 ping icmp echo 请求数据包的方式 这意味着我想运行自己的服务器来回复传入的 icmp 回显请求或其他 数据包 但为了使其正常工作 我想我需要禁用 Linux 的默认 ping icmp 数据包
  • ubuntu:升级软件(cmake)-版本消歧(本地编译)[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我的机器上安装了 cmake 2 8 0 来自 ubuntu 软件包 二进制文件放置在 usr bin cmake 中 我需要将 cmake 版本至少
  • C语言中如何通过内存地址映射函数名和行号?

    如何用 GCC 中的内存地址映射回函数名称和行号 即假设一个 C 语言原型 void func Get the address of caller maybe this could be avoided MemoryAddress get
  • 如何授予 apache 使用 NTFS 分区上的目录的权限?

    我在一台带有 20GB 硬盘的旧机器上运行 Linux Lubutu 12 10 我有一个 1 TB 外部硬盘 上面有一个 NTFS 分区 在该分区上 有一个 www 目录 用于保存我的网页内容 它在启动时自动安装为 media t515
  • 将 jar 作为 Linux 服务运行 - init.d 脚本在启动应用程序时卡住

    我目前正在致力于在 Linux VM 上实现一个可运行的 jar 作为后台服务 我已经使用了找到的例子here https gist github com shirish4you 5089019作为工作的基础 并将 start 方法修改为
  • 查找哪些页面不再与写入时复制共享

    假设我在 Linux 中有一个进程 我从中fork 另一个相同的过程 后forking 因为原始进程将开始写入内存 Linux写时复制机制将为进程提供与分叉进程使用的不同的唯一物理内存页 在执行的某个时刻 我如何知道原始进程的哪些页面已被写
  • 如何通过ssh检查ubuntu服务器上是否存在php和apache

    如何通过ssh检查Ubuntu服务器上apache是 否安装了php和mysql 另外如果安装的话在哪个目录 如果安装了其他软件包 例如 lighttpd 那么它在哪里 确定程序是否已安装的另一种方法是使用which命令 它将显示您正在搜索

随机推荐

  • 关于UnityHub更换位置后找不到编辑器以及登录界面白屏的问题

    若之前已经有该版本的unity3d 更换位置后显示找不到 可以找出它所在的位置 然后在UnityHub的安装选项中 点击添加已安装版本 该问题就能解决 若显示未登录 且登录界面白屏 可通过以下三个方法解决 关闭hub 在资源管理器中结束un
  • MybatisPlus从入门到精通-三更草堂补充版

    MybatisPlus从入门到精通 基础篇 1 概述 MybatisPlus是一款Mybatis增强工具 用于简化开发 提高效率 它在 MyBatis 的基础上只做增强不做改变 为简化开发 提高效率而生 官网 https mp baomid
  • 关于训练平台中Dockerfile与运行文件的编写

    何为Dockerfile 为了给特定的程序提供特定的运行环境 常用的解决办法是就构建镜像 而Dockerfile就是构建镜像的源代码 Docker程序根据这份源代码在镜像中安装 拷贝文件 设置环境变量 Dockerfile文件编写 下面列举
  • svn搭建

    Subversion SVN 是一个开源的版本控制系統 也就是说 Subversion 管理着随时间改变的数据 这些数据放置在一个中央资料档案库 repository 中 这个档案库很像一个普通的文件服务器 不过它会记住每一次文件的变动 这
  • 教你怎样娶比尔.盖茨的女儿

    无意中在网上看见这篇文章 仔细体会 能让人领会很多东西 一位优秀的商人杰克 有一天告诉他的儿子 杰克 我已经决定好了一个女孩子 我要你娶她 儿子 我自己要娶的新娘我自己会决定 杰克 但我说的这女孩可是比尔 盖茨的女儿喔 儿子 哇 那这样的话
  • disruptor_环形缓冲区– Disruptor背后的数据结构

    disruptor 环形缓冲区 Disruptor背后的数据结构 Disruptor是一个高性能的库 用于在线程之间传递消息 该库由LMAX Exchange公司于几年前开发和开源 他们创建了此软件来处理其零售金融交易平台中的巨大流量 超过
  • deep learning 编程作业总结4----调节神经网络之初始化,正则化,梯度校验

    一 初始化参数 神经网络中一个小单元的运算可由 z wx b 和 a g z 这两个式子来概括 在刚开始的时候需要对参数w和b赋初始值 如果赋值为0那么是没有意义的 如果赋值为一个简单随机数 那么会产生梯度爆炸和梯度消失 因此应采用抑梯度异
  • pyqt5-QGraphicsView

    一 QGrahpics框架 这个框架是一个渲染引擎的上层框架 通常也叫Scene View 由QGraphicsview QGrahpicsScene QGraphicsItem三个框架类组成 QGrahpicsView是从原生的QWidg
  • C++11 多线程之 packaged_task

    packaged task是什么 template lt class R class Args gt class packaged task lt fn Args gt packaged task是类模板 定义于future头文件中 它包装
  • git add 回滚_Git的reset命令详解

    git reset 这个命令是版本控制的精髓 非常实用且常用 真香警告 一 为什么 我们玩闯关游戏的时候 经常要把游戏进度保存 以便我们随时能够回到那一刻 特别是打BOSS之前 做好保存 发现打不过就马上重来 或者一年半载后 重玩游戏 就可
  • nexus3手动上传jar文件(包括不可执行jar打包配置)

    前言 最近用nexus3管理工具jar包时 发现多模块依赖引用找不到依赖包 依赖包不会关联下载 一直以为是打包的问题 还尝试着把所有依赖都打进工具jar中 结果都无法正常启动项目 最后才发现是pom的问题 下面记录我的解决方案 举个例子 一
  • 龙书源码编译

    dx龙书全名是 DX9游戏开发编程基础 该书中的源代码没有工程 只有 h cpp文件 这或许是作者故意为之 这样我们就可以随心所欲的移植到vc 6 0或vs2008等集成开发环境了 但是我在移植到vs2008的时候总是失败不停的报错 很是头
  • 蓝桥杯2022年第十三届决赛真题-出差

    题目描述 A 国有 N 个城市 编号为 1 N 小明是编号为 1 的城市中一家公司的员工 今天突然接到了上级通知需要去编号为 N 的城市出差 由于疫情原因 很多直达的交通方式暂时关闭 小明无法乘坐飞机直接从城市 1 到达城市 N 需要通过其
  • 在MAC中安装Android SDK

    原文出处 作者 菩提树下的杨过出处 http yjmyzz cnblogs com 原文链接 http www cnblogs com yjmyzz p 4219829 html 一 先下载android sdk for mac 给二个靠谱
  • 单链表(带头结点)的存储结构与基本操作(c语言)------亲测可用

    编程语言 c语言 编译环境 Dev c 实现功能 实现功能 单链表 带头结点 结点结构体的定义 单链表 带头结点 初始化 求元素个数 插入元素 删除元素 取元素 打印所有元素 就地逆置 撤销的操作 结构体定义 初始化 求元素个数 插入元素
  • antd 获取table选中行数据_antd—Table的用法

    表格 Table Ant Design ant design 一 Table的基本用法 import React from react import ReactDOM from react dom import antd dist antd
  • 5款超好用的在线IDE,媲美vscode,可以直接编写前端构建化项目,而无需在本地下载依赖包,非常适合学习、demo、原型开发

    以下5款在线IDE 可以直接编写前端构建化项目 而无需在本地下载依赖包 非常适合学习 写demo 1 https codesandbox io 推荐 个人免费 支持公开项目个性化的设置 跨平台使用 除了支持PC端 还可以下载app在手机上编
  • springBoot中使用上下文获取Bean后映射调用方法的工具类

    package org jeecg modules transaction util import org apache commons lang3 StringUtils import org checkerframework check
  • 力扣编程题-解法汇总

    一 力扣链接 题库 力扣 LeetCode 全球极客挚爱的技术成长平台 备注 以后每个工作日从前往后刷一道题 然后再加一道每日新题 每天两道题 二 模版 标题 LeetCode解法汇总5 正则表达式匹配 目录链接 力扣编程题 解法汇总 分享
  • linux通配符和正则表达式

    1 通配符 通配符是shell在做PathnameExpansion时用到的 说白了一般只用于文件名匹配 它是由shell解析的 比如find ls cp mv等 1 1 Shell常见通配符 通配符 含义 实例 匹配 0 或多个字符 a