Python论坛  - 讨论区

标题:[python-chinese] 【请教】正则表达式

2007年11月12日 星期一 17:22

clfff.peter clfff.peter在gmail.com
星期一 十一月 12 17:22:54 HKT 2007

\b,\BÔõôÓõģ¿
Äܲ»ÄܽâÊÍÏ£¬ÎªÊ²Ã´ÓÐÏÂÃæµÄ½á¹û£¬¿´ÁËhelpºÃÏñ²»ÊÇÄÇô»ØÊ¡£
re.match('\B',' re')    #¿ÉÒÔÆ¥Åä
 re.match('\B','re ')    #²»¿ÉÒÔÆ¥Åä
re.match('\b',' re')    #²»¿ÉÒÔÆ¥Åä
re.match('\b','re ')    #²»¿ÉÒÔÆ¥Åä
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20071112/750e916b/attachment.htm 

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

2007年11月12日 星期一 17:27

Jiahua Huang jhuangjiahua在gmail.com
星期一 十一月 12 17:27:13 HKT 2007

   \b       匹配一个空串但只在一个单词的开始或者结束的地方.匹配单词的边界
   \B       匹配一个空串, 但不是在在一个单词的开始或者结束的地方.(匹配非单词边界)
   \d       匹配一个数字字符。等价于 [0-9]。
   \D       匹配一个非数字字符。等价于 [^0-9]。
   \s       匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。
   \S       匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
   \w       匹配包括下划线的任何单词字符。等价于'[A-Za-z0-9_]'.
            With LOCALE, it will match the set [0-9_] plus characters defined
            as letters for the current locale.
   \W       匹配\w的补集(匹配任何非单词字符。等价于 '[^A-Za-z0-9_]'。)
   \\       匹配一个"\"(反斜杠)


另外,你想做什么

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

2007年11月12日 星期一 17:29

@@ askfor在gmail.com
星期一 十一月 12 17:29:18 HKT 2007

ƽʱûÓùýÕâ¸ö¡£²éÁËÏÂ

\b

Empty string at word boundaries

\B

Empty string not at word boundary



On 11/12/07, clfff. peter <clfff.peter在gmail.com> wrote:
>
> \b,\BÔõôÓõģ¿
> Äܲ»ÄܽâÊÍÏ£¬ÎªÊ²Ã´ÓÐÏÂÃæµÄ½á¹û£¬¿´ÁËhelpºÃÏñ²»ÊÇÄÇô»ØÊ¡£
> re.match('\B',' re')    #¿ÉÒÔÆ¥Åä
>  re.match('\B','re ')    #²»¿ÉÒÔÆ¥Åä
> re.match('\b',' re')    #²»¿ÉÒÔÆ¥Åä
> re.match('\b','re ')    #²»¿ÉÒÔÆ¥Åä
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20071112/32f17e31/attachment.html 

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

2007年11月12日 星期一 18:44

Cyril.Liu terry6394在gmail.com
星期一 十一月 12 18:44:34 HKT 2007

Empty string
就是空白串(一个或多个空格或制表符)吗?

On Nov 12, 2007 5:29 PM, @@ <askfor at gmail.com> wrote:

> 平时没用过这个。查了下
>
> \b
>
> Empty string at word boundaries
>
> \B
>
> Empty string not at word boundary
>
>
>
> On 11/12/07, clfff. peter <clfff.peter at gmail.com> wrote:
>
> > \b,\B怎么用的?
> > 能不能解释下,为什么有下面的结果,看了help好像不是那么回事。
> > re.match('\B',' re')    #可以匹配
> >  re.match('\B','re ')    #不可以匹配
> > re.match('\b',' re')    #不可以匹配
> > re.match('\b','re ')    #不可以匹配
> >
> >
> > _______________________________________________
> > python-chinese
> > Post: send python-chinese at lists.python.cn
> > Subscribe: send subscribe to python-chinese-request at lists.python.cn
> > Unsubscribe: send unsubscribe to
> > python-chinese-request at lists.python.cn
> > Detail Info: http://python.cn/mailman/listinfo/python-chinese
> >
>
>
> _______________________________________________
> python-chinese
> Post: send python-chinese at lists.python.cn
> Subscribe: send subscribe to python-chinese-request at lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request at lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://python.cn/pipermail/python-chinese/attachments/20071112/2d44e9f0/attachment.html 

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

2007年11月12日 星期一 19:29

Leo Jay python.leojay在gmail.com
星期一 十一月 12 19:29:49 HKT 2007

On Nov 12, 2007 6:44 PM, Cyril. Liu <terry6394在gmail.com> wrote:
> Empty string
> 就是空白串(一个或多个空格或制表符)吗?
>

不,空白串就是什么都不匹配。

\b  Matches the empty string, but only at the beginning or end of a word

就是,只有匹配字符串的开头与结尾,但不会占用字符。
这样就可以保证,你想匹配一个单词a的时候,写\ba\b,就只会match到单词a,
而不会匹配到abc或about等。


-- 
Best Regards,
Leo Jay

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

2007年11月12日 星期一 22:13

xiaq xiaqqaix在gmail.com
星期一 十一月 12 22:13:22 HKT 2007

On Nov 12, 2007 7:29 PM, Leo Jay <python.leojay在gmail.com> wrote:
> On Nov 12, 2007 6:44 PM, Cyril. Liu <terry6394在gmail.com> wrote:
> > Empty string
> > 就是空白串(一个或多个空格或制表符)吗?
> 不,空白串就是什么都不匹配。

准确说来是不"消耗"字符,只起到限定的作用。我记得有的地方称之为"零宽度断言"。

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

2007年11月13日 星期二 13:18

clfff.peter clfff.peter在gmail.com
星期二 十一月 13 13:18:44 HKT 2007

µ«ÊÇÏÂÃæµÄΪʲôһ¸ö¶¼Æ¥Åä²»ÉÏÄØ£¿
re.match('\be\b', ' e ')
re.match('\be\b', 'e ')
re.match('\be\b', ' e')
re.match('\be\b', 'e')


ÔÚ07-11-12£¬Leo Jay <python.leojay在gmail.com> дµÀ£º
>
> On Nov 12, 2007 6:44 PM, Cyril. Liu <terry6394在gmail.com> wrote:
> > Empty string
> > ¾ÍÊÇ¿Õ°×´®(Ò»¸ö»ò¶à¸ö¿Õ¸ñ»òÖƱí·û)Âð?
> >
>
> ²»£¬¿Õ°×´®¾ÍÊÇʲô¶¼²»Æ¥Åä¡£
>
> \b  Matches the empty string, but only at the beginning or end of a word
>
> ¾ÍÊÇ£¬Ö»ÓÐÆ¥Åä×Ö·û´®µÄ¿ªÍ·Óë½á⣬µ«²»»áÕ¼ÓÃ×Ö·û¡£
> ÕâÑù¾Í¿ÉÒÔ±£Ö¤£¬ÄãÏëÆ¥ÅäÒ»¸öµ¥´ÊaµÄʱºò£¬Ð´\ba\b£¬¾ÍÖ»»ámatchµ½µ¥´Êa£¬
> ¶ø²»»áÆ¥Åäµ½abc»òaboutµÈ¡£
>
>
> --
> Best Regards,
> Leo Jay
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20071113/c0ba002e/attachment.html 

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

2007年11月13日 星期二 13:27

Leo Jay python.leojay在gmail.com
星期二 十一月 13 13:27:32 HKT 2007

On Nov 13, 2007 1:18 PM, clfff. peter <clfff.peter在gmail.com> wrote:
> 但是下面的为什么一个都匹配不上呢?
> re.match('\be\b', ' e ')
> re.match('\be\b', 'e ')
> re.match('\be\b', ' e')
> re.match('\be\b', 'e')
>

你的程序有两个问题。
首先,你的字符串前都没有加上r,这样,\b会被转义。'\be\b'是不对的,要写r'\be\b'
然后,match与search是不一样的。如果用match的话,只有re.match(r'\be\b', 'e')能
返回一个Match Object,其它的都会返回None。不知道你是不是想要这样的结果。
想了解match与search的区别,可以参见Python手册Library Reference的4.2的相关说明。


-- 
Best Regards,
Leo Jay

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

2007年11月14日 星期三 18:55

clfff.peter clfff.peter在gmail.com
星期三 十一月 14 18:55:26 HKT 2007

·Ç³£¸Ðл¡£
^_^


ÔÚ07-11-13£¬Leo Jay <python.leojay在gmail.com> дµÀ£º
>
> On Nov 13, 2007 1:18 PM, clfff. peter <clfff.peter在gmail.com> wrote:
> > µ«ÊÇÏÂÃæµÄΪʲôһ¸ö¶¼Æ¥Åä²»ÉÏÄØ£¿
> > re.match('\be\b', ' e ')
> > re.match('\be\b', 'e ')
> > re.match('\be\b', ' e')
> > re.match('\be\b', 'e')
> >
>
> ÄãµÄ³ÌÐòÓÐÁ½¸öÎÊÌâ¡£
> Ê×ÏÈ£¬ÄãµÄ×Ö·û´®Ç°¶¼Ã»ÓмÓÉÏr£¬ÕâÑù£¬\b»á±»×ªÒå¡£'\be\b'ÊDz»¶ÔµÄ£¬ÒªÐ´r'\be\b'
> È»ºó£¬matchÓësearchÊDz»Ò»ÑùµÄ¡£Èç¹ûÓÃmatchµÄ»°£¬Ö»ÓÐre.match(r'\be\b', 'e')ÄÜ
> ·µ»ØÒ»¸öMatch Object£¬ÆäËüµÄ¶¼»á·µ»ØNone¡£²»ÖªµÀÄãÊDz»ÊÇÏëÒªÕâÑùµÄ½á¹û¡£
> ÏëÁ˽âmatchÓësearchµÄÇø±ð£¬¿ÉÒԲμûPythonÊÖ²áLibrary ReferenceµÄ4.2µÄÏà¹Ø˵Ã÷¡£
>
>
> --
> Best Regards,
> Leo Jay
> _______________________________________________
> python-chinese
> Post: send python-chinese在lists.python.cn
> Subscribe: send subscribe to python-chinese-request在lists.python.cn
> Unsubscribe: send unsubscribe to  python-chinese-request在lists.python.cn
> Detail Info: http://python.cn/mailman/listinfo/python-chinese
-------------- 下一部分 --------------
Ò»¸öHTML¸½¼þ±»ÒƳý...
URL: http://python.cn/pipermail/python-chinese/attachments/20071114/8b835cf1/attachment.html 

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

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

    你的回复:

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

    Zeuux © 2025

    京ICP备05028076号