如何在自定义类(或其他非^|\s+|$
ified手段)中捕获等效的|
?
\b
似乎不适用于+
(这是有道理的)。
对于这个非常相似的案例,是否有可能具有\b
的整洁度? \b+
,基本上。
抽象案例:
搞清楚凌乱的文字:
re.sub(ur'(^|\s+)(someting\simportant)(\s+|$)', lambda x: process_x(x), long_messy_text)
其中process_x
有关于应该做什么的规则,具体取决于它找到的内容的“形状”(填充量等),对于不希望仅运行doc 所有文档的文档额外空间等。
对于双方来说,只有一件事情会很好。
编辑:类似的情况我刚碰到:
如果我有这个:u'T sold a net $746,423 in XCorp'
我想要回复:u'$746,423'
我尝试与此匹配:\b\$[0-9,]+\b
但它失败了。美元金额也可以在字符串的开头。人们也会做$12mile
之类的事情。
我正在使用(^|\s)
,但\b
- 就像我期望的那样。
答案 0 :(得分:5)
你不能。
^
和$
等锚点无法在其他任何内容中捕获,它们不是字符。这些锚点的匹配部分实际上在字符之间,因此^
匹配任何内容和字符串的第一个字符,对于带有$
的字符串的结尾相同。你把它们放入角色课的那一刻就失去了意义。
答案 1 :(得分:0)
一般情况下,您可以在正则表达式中使用字符类[\b\s]
。