java正则表达式通配符_【转载】正则表达式和通配符的区别

首先明确结论:

正则表达式是用来匹配字符串的

通配符是用来匹配文件名的,也就是shell在做Pathname Expansion时用到的

通配符 wildcard

一般只用于文件名匹配,它是由shell解析的

shell是一个命令解释器,它是OS内核的外壳,用于完成用户与内核的沟通

通配符实际上就是一个shell解释器去解析的符号,它的特殊涵义是由shell这个命令解释器赋予的

一般来说,Unix系统上面的shell大多将三个特殊符号当作通配符:

* 表示匹配任意长度的任意字符

? 表示匹配一个任意字符

[] 表示匹配括号中列出的字符中的任意一个

正则表达式 regular expression

是一种字符串匹配模式标准,只是一种业界流行的标准

相当于对字符串匹配模式的一种规定

这种规定是随着相关的工具软件的发展而自成体系的“不成文规定”

不同的工具程序,比如egrep、sed、awk这样的程序,以各种程度来支持这种字符串搜索模式,它们就是标准的实现,即你可以在这些软件中使用正则表达式这种“匹配模式标准”。

支持正则表达式的程序语言,比如perl,java,C++中也有专门用于支持正则表达式的库

因此,正则表达式总是和“使用什么工具软件或者语言”相关

基础RE与扩展RE

相对来说,不同的工具和语言对正则表达式的支持程度不同,Unix里面将这些工具软件的对正则表达式的支持程度进行分类,因此也就有了“基础正则表达式”和“扩展正则表达式”。

相关背景知识

不同的工具或语言对正则表达式的支持,都有些许不同之处,但是总体来说,使用正则还是基本按照标准来的。

这些不同的支持程度,被称之为“正则流派”

而工具软件中支持这种匹配模式的那部分代码,称之为“正则引擎”

由于perl对正则表达式的支持非常到位,其正则引擎也比较优秀,因此perl语言算是正则的一大流派,目前大部分对正则的支持都或多或少参考了perl语言中的标准。

在什么地方使用通配符?

只要是shell命令行或者shell脚本中,你都可以使用通配符

在什么地方使用正则表达式?

使用能够支持正则表达式的工具软件 进行字符串处理时就可以使用正则表达式

比如egrep、sed、awk

还可以在支持正则表达式的语言中使用正则表达式

比如perl、java、 C++...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值