正规式和正则表达式的异同

正规式的定义及使用方法(转自正规式)

设∑是有穷字母表,并定义辅助字母表∑’={Φ, ε, | , . , *, (, )}

  1. ε,Φ都是∑上的正规式,它们所表示的正规集为{ε}, Φ ;
  2. 任何a是一个正规式,若a∈∑,它所表示的正规集为{a};
  3. 如果R1和R2是正规式,它们表示的正规集分别为L1和L2,则 R1|R2 , R1·R2 , R1, (R1) 也是正规式,并且它们所表示的正规集分别为L1∪L2 ;L1L2;L1; L1
  4. 仅有有限次使用上述三步骤而定义的表达式才是∑上的正规式,仅有这些正规式表示的字集才是∑上的正规集。

注意:不要混淆Φ和ε,正规表达式ε描述的语言只含一个空字符串ε,而Φ表示的语言不含有任何字符串。 程序设计语言的单词都能用正规式来定义。若两个正规式e1,e2表示的正规集相同,则称它们等价。记作:e1=e2。

例 : 令∑={a,b},则∑上的正规式和相应正规集为

正规式正规集
a{a}
a|b{a,b}
ab{ab}
(a|b)(a|b){aa,ab,ba,bb}
*{ε ,a,aa, ……任意个a的串}
(a|b)*{ε ,a,aa, ……任意个a的串}{ε ,a,b,aa,ab,bb ……所有由 a和b组成的串}
(a|b)(aa|bb)(a|b)*∑上所有含有两个相继的a或两个相继的b组成的串}

正则表达式的定义和用法

  正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”))操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。正则表达式是一种文本模式,模式描述在搜索文本时要匹配的一个或多个字符串。

给定一个正则表达式和另一个字符串,我们可以达到如下的目的:
  1. 给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”):
  2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。
 
1)相同点
    都是一种模式,用来匹配验证的一种规则。
 
   (2)不同点
      正规式:多和有限自动机相互转换,来判断是否和相应的输入输出对应。
    正则表达式:多用于输入的验证,在客户端输入的时候就去验证输入的东西是否符合要求,大大减少了后台的判断。

转载于:https://www.cnblogs.com/zjh0932/p/9352151.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值