Python论坛  - 讨论区

标题:Re: Re[2]: [python-chinese]正则表达式问题

2004年09月09日 星期四 09:30

March Liu March.Liu at gmail.com
Thu Sep 9 09:30:40 HKT 2004

原计划是作一个可以从AD字符串中提取键值对的通用正则表达式,现在看离实用还有一段距离,有了进展就会公开的。有一个困难是不知道怎么处理与字符串中的中文,比如要匹配一段中文字符串,可以实现吗?


On Thu, 9 Sep 2004 09:21:52 +0800, Zoom.Quiet <zoomq at infopro.cn> wrote:
> Hollo hoxide:
> 
>  好也!不过好象 Pler 的 PAN 中早已有标准的正则表达式
> 
> 嗬嗬嗬,
> http://wiki.woodpecker.org.cn/moin.cgi/PyTips
> 
> 大家要自觉将小的实用代码段归入之哪!
> 
> 马上SVN 启动后,会有一个
> woodpeckerTips 项目,收集快速解决各种小问题的代码!
> 欢迎贡献!分享经验!
> 
> /******** [2004-09-09]09:19:25 ; hoxide wrote:
> 
> >>>> r='\S*?)(?:(?:\\s.*>)|(?:>)).*?'
> >>>> compile(r).findall(a)
> 
> hoxide> 这个是我和天成讨论出来的方法,用来提取网页中的超链接,你的正则表达式可能有问题. 还有待改进

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2004年09月09日 星期四 10:12

hoxide hoxide_dirac at yahoo.com.cn
Thu Sep 9 10:12:11 HKT 2004

可以可以,我要去上课了, 下午试着和你一起解决一下

======= 2004-09-09 09:30:40 您在来信中写道:=======

>原计划是作一个可以从AD字符串中提取键值对的通用正则表达式,现在看离实用还有一段距离,有了进展就会公开的。有一个困难是不知道怎么处理与字符串中的中文,比如要匹配一段中文字符串,可以实现吗?
>
>
>On Thu, 9 Sep 2004 09:21:52 +0800, Zoom.Quiet <zoomq at infopro.cn> wrote:
>> Hollo hoxide:
>> 
>>  好也!不过好象 Pler 的 PAN 中早已有标准的正则表达式
>> 
>> 嗬嗬嗬,
>> http://wiki.woodpecker.org.cn/moin.cgi/PyTips
>> 
>> 大家要自觉将小的实用代码段归入之哪!
>> 
>> 马上SVN 启动后,会有一个
>> woodpeckerTips 项目,收集快速解决各种小问题的代码!
>> 欢迎贡献!分享经验!
>> 
>> /******** [2004-09-09]09:19:25 ; hoxide wrote:
>> 
>> >>>> r='\S*?)(?:(?:\\s.*>)|(?:>)).*?'
>> >>>> compile(r).findall(a)
>> 
>> hoxide> 这个是我和天成讨论出来的方法,用来提取网页中的超链接,你的正则表达式可能有问题. 还有待改进
>_______________________________________________
>python-chinese list
>python-chinese at lists.python.cn
>http://python.cn/mailman/listinfo/python-chinese
>

= = = = = = = = = = = = = = = = = = = =
			

        致
礼!
 
				 
        hoxide
        hoxide_dirac at yahoo.com.cn
          2004-09-09


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2004年09月09日 星期四 13:41

hoxide hoxide_dirac at yahoo.com.cn
Thu Sep 9 13:41:51 HKT 2004

先用readline读入一行数据,然后对数据进行处理, 试了一个小时,没找到更好的办法了.

>>> a='CN=aaa,OU=bbb,OU=ccc,DC=gdtel,DC=com'
>>> r='([^,]+?)=([^,]+)'
>>> re.compile(r).findall(a)
[('CN', 'aaa'), ('OU', 'bbb'), ('OU', 'ccc'), ('DC', 'gdtel'), ('DC', 'com')]

如上. 然后再处理这个列表,有很多方法.

======= 2004-09-09 11:38:18 您在来信中写道:=======

>可以应用 s.split(',') ,把他转成列表,每个OU是列表中的一个元素,就能够如你所愿了
>----- Original Message ----- 
>From: "March Liu" <March.Liu at gmail.com>
>To: <python-chinese at lists.python.cn>
>Sent: Thursday, September 09, 2004 11:33 AM
>Subject: Re: [python-chinese] ʽ 
>
>
>试验了一下,确实好用,非常感谢!这样我就可以把这个字符串分割一下用了。贪心一点……如果可以将每一个OU项单独匹配出来就更完美了!^_^
>
>
>On Thu, 9 Sep 2004 11:18:31 +0800, Xie Yanbo <idkey at 163.com> wrote:
>> On 2004-09-09 11:00:1094698808 +0800, tocer wrote:
>> > ²»Ì«¶®¡£¾Ù¸öÀý×Ó¸øÎÒ£¬ºÃ°É¡£
>> >
>> > Áí£ºÄãдµÄ°²×°vim for pythonµÄ½Ì³ÌÎҰݶÁÁË,ºÜºÃ.
>> > ----- Original Message -----
>> > From: "March Liu" <March.Liu at gmail.com>
>> > To: "tocer" <tootoo at yeah.net>
>> > Sent: Thursday, September 09, 2004 10:11 AM
>> > Subject: Re: [python-chinese] ÕýÔò±í´ïʽÎÊÌâ
>> >
>> >
>> > ÎÒ´òÓ¡ÁËÒ»ÏÂÆ¥Åä³öÀ´µÄ½á¹û£¬
>> > mr = re.match(theRegular, line)
>> > if mr != None:
>> > print mr.groups()
>> > print line
>> > £¬½á¹û·¢ÏÖ´æÔÚ¶à¸öOUµÄʱºò£¬Ã¿´ÎֻƥÅä³öÁË×îºóÒ»¸ö£¬ÓÐûÓÐʲô°ì·¨¿ÉÒԵõ½ËùÓеÄOUÄØ£¿
>> >
>> > On Thu, 9 Sep 2004 07:37:41 +0800, tocer <tootoo at yeah.net> wrote:
>> > > ÕâÑù¿ÉÒÔô£¿Ã»ÊÔ¹ý£º
>> > > theRegular = re.compile(r"CN=.*?,(OU=.*?,)+DC=gdtel,DC=com")
>> 
>> ¸Äһϱí´ïʽ£¬ÔÚÍâÃæÔÙÌ×Ò»²ã¾Í¿ÉÒÔÁË£º
>> 
>>  r"CN=.*?,((OU=.*?,)+)DC=gdtel,DC=com"
>> 
>> mathobj.groups()[1] ¾ÍÊÇÄãÏëÒªµÄ¡£
>> 
>> _______________________________________________
>> python-chinese list
>> python-chinese at lists.python.cn
>> http://python.cn/mailman/listinfo/python-chinese
>> 
>
>
>
>-- 
>刘鑫
>March.Liu
>_______________________________________________
>python-chinese list
>python-chinese at lists.python.cn
>http://python.cn/mailman/listinfo/python-chinese
>_______________________________________________
>python-chinese list
>python-chinese at lists.python.cn
>http://python.cn/mailman/listinfo/python-chinese
>

= = = = = = = = = = = = = = = = = = = =
			

        致
礼!
 
				 
        hoxide
        hoxide_dirac at yahoo.com.cn
          2004-09-09


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号