- 主题:regex是不是没有AND?
对我来说perl支持的就是标准
好比bash支持的script也算标准了。哪怕sh不支持也无所谓
【 在 siegfried415 的大作中提到: 】
: 这种不是标准正则表达式了,而是属于python的扩展了。。。
:
--
FROM 178.26.114.*
你理解错了,AND在regex属于不用说默认就是
OR才需要专门写出来
【 在 wuduan 的大作中提到: 】
: 这只是你的理解,
: 实际上原始定义中根本就没有AND
: 但是却有OR
: ...................
--
FROM 178.26.114.*
我觉得更合理的标准应该是,pattern中那些能够影响到生成的有限状态自动机的拓扑结构的,就是标准正则,而其他通过引入的变量和函数来实现的就是正则扩展,因为这些变量其实就是起到高型文法(比如上下文相关文法)检测所需要的栈的功能,它们从本质上来说显然是超越正则描述能力的。。。
【 在 moudy 的大作中提到: 】
: 对我来说perl支持的就是标准
: 好比bash支持的script也算标准了。哪怕sh不支持也无所谓
: :
--
FROM 60.16.239.*
我觉得你这个定义没有任何实际指导意义
lookaround也可以转成状态机啊,没任何问题,折腾点而已
【 在 siegfried415 的大作中提到: 】
: 我觉得更合理的标准应该是,pattern中那些能够影响到生成的有限状态自动机的拓扑结构的,就是标准正则,而其他通过引入的变量和函数来实现的就是正则扩展,因为这些变量其实就是起到高型文法(比如上下文相关文法)检测所需要的栈的功能,它们从本质上来说显然是超越正则描述能力的。。。
:
--
FROM 178.26.114.*
跟没有数理知识的人解释这些确实难,这也是计算机科班和半路出家的程序员的主要区别之一。学过抽象代数的,对于加号乘号可以有很多种理解,但是没学过的人就只知道算术。
【 在 siegfried415 的大作中提到: 】
:
: 可能这位完全没学过代数系统一类的东西,所以他对不同形式系统中的操作符号的语义可以是不同的这件事感到完全不可理解。。。
:
: 【 在 a0123456789q 的大作中提到: 】
: : regex没有or.
#发自zSMTH@钛星
--
FROM 222.129.49.*
指导意义就是,lz需要知道他的RE引擎是基于哪种语言开发的,是标准的、还是扩展的,如果是标准的,就不能用这些扩展语法,这不就是实际意义吗?
【 在 moudy 的大作中提到: 】
: 我觉得你这个定义没有任何实际指导意义
: lookaround也可以转成状态机啊,没任何问题,折腾点而已
: :
--
FROM 60.16.239.*
and没有意义啊。一个串既能匹配模式a又能匹配b,除非a和b是不冲突的。而如果不冲突,那留一个就好了,你可以选择留一个宽松的,或者留一个严格的。
【 在 wuduan 的大作中提到: 】
: 我对regex一点都不懂
: 只是在别的地方,匹配字符串的时候说可以用regex语法,
: 我找了半天也没找到AND
: ....................
- 来自「最水木 for iPhone13,4」
--
FROM 123.113.248.*
正则表达式匹配速度快,效率高
【 在 callmebbser 的大作中提到: 】
: 这种简单的逻辑,用简单的语言自带的逻辑运算就可以搞定,何必去弄晦涩难懂的正则
: 表达式?
:
: ...................
--
FROM 111.201.135.*
实际上是有and功能的,但这属于正则表达式比较高级的用法,你不会用而已。
另外各个应用程序、编程语言的正则表达式实现不同,有些比较弱的没实现这部分,比如 sed 。当然 sed 不愁这个,可以一行里写多个匹配组合起来,牺牲效率求实现。
【 在 wuduan 的大作中提到: 】
: 我对regex一点都不懂
: 只是在别的地方,匹配字符串的时候说可以用regex语法,
: 我找了半天也没找到AND
: ...................
--
FROM 111.201.135.*
速度快效率高这个有定论么
我自己用的时候都是不在乎效率
【 在 tsa350 (Tele-Superachromat T*) 的大作中提到: 】
: 正则表达式匹配速度快,效率高
--
FROM 125.118.252.*