Linux笔记之通配符和正则表达式的区别

devtools/2025/3/14 15:16:05/

Linux笔记之通配符和正则表达式的区别

在这里插入图片描述
code review!

参考笔记
1.Linux笔记之通配符和正则表达式的区别
2.C++笔记之C语言中的换行符和转义符

文章目录

  • Linux笔记之通配符和正则表达式的区别
    • 1.通配符概念
    • 2.通配符和正则表达式的区别
    • 3.C++或C语言中有没有通配符?
    • 4.Linux Bash脚本中的通配符
    • 5.Linux Bash脚本中的`set -f`和`set +f`

1.通配符概念

通配符(Wildcard)是一种特殊字符或符号,用于在搜索、匹配和筛选字符串或文件时代表一个或多个未知字符。通配符的主要作用是允许模糊匹配,而不必精确指明每个字符,从而简化查找和匹配工作。

以下是一些常见的通配符示例:

  • *:匹配零个或多个任意字符。例如,*.txt 可以匹配所有以 .txt 结尾的文件。
  • ?:匹配任意单个字符。例如,file?.txt 可以匹配 file1.txtfile2.txt 等,但不匹配 file10.txt(因为 10 占用了两个字符)。
  • SQL 通配符
    • %:匹配零个或多个字符。例如,LIKE 'A%' 可以匹配所有以 A 开头的字符串。
    • _:匹配单个字符。例如,LIKE '_B' 可以匹配长度为两且第二个字符为 B 的字符串。
  • 正则表达式中的通配符
    • .(点号):匹配除换行符以外的任意单个字符。

通配符广泛应用于文件系统、数据库查询、正则表达式以及许多编程环境中,为用户提供了强大的模式匹配和筛选能力。

2.通配符和正则表达式的区别

通配符和正则表达式不是同一个概念,虽然它们都用于模式匹配,但作用、语法和应用场景都有很大区别:

1.目的和应用场景

  • 通配符:主要用于文件名或简单字符串的匹配。例如,在 Shell 中使用 *.txt 匹配所有以 .txt 结尾的文件。通配符通常适用于简单的文件查找或命令行传参。
  • 正则表达式:是用来匹配复杂文本模式的强大工具。它不仅可以匹配简单字符,还可以匹配复杂的字符组合、数量、位置等,常用于文本搜索、替换和验证操作。

2.语法和表达能力

  • 通配符:一般具有较简单的语法&

http://www.ppmy.cn/devtools/167054.html

相关文章

什么是WMS仓库系统?企业如何选择WMS?浩方动力科技

浩方动力科技-浩方软件认为,仓库管理系统(WMS)是一个用于管理仓库运营的软件系统。在现代企业的仓库运营中起着至关重要的作用,它是实现仓库高效管理、降低成本、提高服务质量的重要工具。而浩方WMS仓库管理系统列位于浩方企业erp…

【社区投稿】深入再谈智能指针、AsRef引用与Borrow借用

深入再谈智能指针、AsRef引用与Borrow借用 这是一个具有深度的技术主题。每次重温其理论知识&#xff0c;都会有新的领悟。大约 2 年前&#xff0c;我曾就这一技术方向撰写过另一篇短文《从类型转换视角&#xff0c;浅谈Deref<Target T>, AsRef<T>, Borrow<T&g…

鸿蒙编译框架插件HvigorPlugin接口的用法介绍

鸿蒙系统中HvigorPlugin接口实现自定义编译插件&#xff0c;实现编译前后自定义功能。 在鸿蒙&#xff08;HarmonyOS&#xff09;开发中&#xff0c;HvigorPlugin 是用于扩展 Hvigor 构建工具功能的接口。通过实现此接口&#xff0c;开发者可以自定义构建任务、修改构建流程或…

Websocket的基本使用

1. WebSocket WebSocket 是一种在单个TCP连接上进行全双工通信的协议&#xff0c;它在现代 Web 开发和网络应用中发挥着重要作用。在 WebSocket 出现之前&#xff0c;实现服务器与客户端实时通信主要采用轮询Polling和长轮询Long - Polling等技术。轮询是客户端定时向服务器发…

前端构建工具进化论:从Grunt到Turbopack的十年征程

前端构建工具进化论&#xff1a;从Grunt到Turbopack的十年征程 一、石器时代&#xff1a;任务自动化工具&#xff08;2012-2014&#xff09; 1.1 Grunt&#xff1a;首个主流构建工具 // Gruntfile.js 典型配置 module.exports function(grunt) {grunt.initConfig({concat: {…

数据结构与算法:动态规划dp:子序列相关力扣题(下):392. 判断子序列、115.不同的子序列

392. 判断子序列 1.套最长公共子序列问题的板子 class Solution:def isSubsequence(self, s: str, t: str) -> bool:"""最长公共子序列长度是否len(s)&#xff0c;是就是true&#xff0c;否就是falsedp[i][j]考虑以s[i-1]&#xff0c;t[j-1]的最长公共子序…

SQLiteStudio:一款免费跨平台的SQLite管理工具

SQLiteStudio 是一款专门用于管理和操作 SQLite 数据库的免费工具。它提供直观的图形化界面&#xff0c;简化了数据库的创建、编辑、查询和维护&#xff0c;适合数据库开发者和数据分析师使用。 功能特性 SQLiteStudio 提供的主要功能包括&#xff1a; 免费开源&#xff0c;可…

条款1:理解模版性别推导

目录 问题引出 情况1&#xff1a;ParamType是个指针或引用&#xff0c;但不是个万能引用。 情况2&#xff1a;ParamType是个万能引用 情况3&#xff1a;ParamType既非指针也非引用 问题引出 函数模板大致形如&#xff1a; template<typename T> void f(ParamType p…