以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 理论计算机科学 』  (http://bbs.xml.org.cn/list.asp?boardid=64)
----  包含偶数个0的正则表达式怎么写?  (http://bbs.xml.org.cn/dispbbs.asp?boardid=64&rootid=&id=58083)


--  作者:hegonghe
--  发布时间:1/15/2008 4:47:00 PM

--  包含偶数个0的正则表达式怎么写?
写出下列正则表达式:
                  由偶数个0构成的字符串!


谢谢!!自己写出了一个,不过比较麻烦,不知有没有简单一点的表示方法!先谢了!


--  作者:jjdeng
--  发布时间:1/16/2008 10:06:00 AM

--  
(00)+ 不包括0个零
如何?
--  作者:hegonghe
--  发布时间:1/17/2008 10:47:00 AM

--  
好像不行哦,我说的是包括偶数个零的所有的由0,1字符组成的字符串.你没有考虑到1啊.还有01的组合!!

--  作者:Logician
--  发布时间:1/20/2008 12:27:00 AM

--  
到底是“包含偶数个0”还是“由偶数个0构成”?
“由偶数个0构成”的意思就是“这个字串里全是0,而且总共有偶数个”,从而就是(00)+(不允许空串的情况)或(00)*(允许空串的情况)
“包含偶数个0”就是说可以有1,但是总共有偶数个0
表达式有很多,比较直观和简洁的是 1*(01*0)*1*

--  作者:zhangzongzhen
--  发布时间:2/21/2008 9:50:00 AM

--  
版主说的好象也不全:
应该是(1*01*01*)*吧?

--  作者:wu5zg
--  发布时间:2/21/2008 11:28:00 AM

--  
1*(01*0)*1*
(1*01*01*)* 直观上看 好像这俩相等啊,没看出缺哪?
--  作者:zhangzongzhen
--  发布时间:2/21/2008 1:01:00 PM

--  
10101010匹配不上1*(01*0)*1*

--  作者:wu5zg
--  发布时间:2/21/2008 8:06:00 PM

--  
(1*01*01*)* 那这个也不全

(10101)(00)


--  作者:wu5zg
--  发布时间:2/21/2008 8:21:00 PM

--  
( (01*0) U 1 )*


--  作者:xbwang
--  发布时间:2/22/2008 11:46:00 AM

--  
关于正则表达式的构造,技巧性太强了。个人觉得如果直接写困难,则可以先构造自动机,然后使用算法转化为正则表达式。必然说这个“包含偶数个0的01串”,对应的自动机只有2个状态,再转化为正则表达式。这个过程可以使用工具,如jflag,不过得到的结果非常长。
--  作者:kicool
--  发布时间:3/30/2008 6:20:00 PM

--  
((01*0)*1*)*
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
109.375ms