帮我平反.............正则问题

来源:百度知道 编辑:UC知道 时间:2024/06/08 10:01:51
我说
(july|jul)匹配结果 同 (july?)

我们头头说我说的有问题
原话:“前面1个是匹配2个枚举量,后面可就是一个通用形式,匹配结果肯定不一样”

1.这正则是摘自《精通正则表达式》一书
2.看到质疑后我测试了,一样啊
(july?)
是匹配jul 或者后面跟一个y

jul july同样能匹配到的啊

1楼理解的不对.. 问号(?)在正则表达式裏所代表的意思,是指它前面出现的字符出现0次或者1次,不会有多次的情况.. 它本身只是一个数量限定词,不会匹配任何字符的.
楼主的问题我也测了. (july|jul)和(july?)确实是一致的. 大概是你的头头理解错了吧 ."后面可就是一个通用形式",估计是把问号当成一个通用匹配符号来看了. 在Dos裏,?号就可以匹配任意一个字符,你的头头大概是理解成这个意思了.

《精通正则表达式》这本书 很不错.. 我现在也在学..

我感觉(july|jul)与(july?)等价,dfa引擎下不用说,nfa下,(july|jul)优先匹配'july',因为?是匹配优先所以不会优先考虑匹配jul。除非使用忽略优先july??

(july?)和(july|jul)怎么会一样啊?
前面个是匹配july加上后面的0到多个
而后面个只能匹配july或者jul
所以啊(july?)能匹配july,而(july|jul)也能匹配july
你是怎么做的测试