regex等价于\b,也匹配多个空格

2024-10-03 02:38:54 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在自定义类(或其他非|的方法)中捕获^|\s+|$的等价物?你知道吗

\b似乎不适用于+(这是有道理的)。你知道吗

对于这种非常相似的情况,有没有可能拥有\b的整洁性?\b+,基本上。你知道吗

抽象大小写:

把杂乱的文字分出来:

re.sub(ur'(^|\s+)(someting\simportant)(\s+|$)', lambda x: process_x(x), long_messy_text)

其中process_x根据找到的内容的“形状”(填充量等)有规则,对于不希望只在文档中运行的文档,可以删除所有额外的空间等

如果双方都有一样东西就好了

编辑:我刚刚遇到的类似情况:

如果我有这个:u'T sold a net $746,423 in XCorp'

我想要回这个:u'$746,423'我试着和这个匹配:\b\$[0-9,]+\b

但它失败了。美元的数额也可能在字符串的开头。人们也会做类似的事情。你知道吗

我使用的是(^|\s),但我希望能够拥有\b般的外观。你知道吗


Tags: 方法lambdatext文档re情况processlong
2条回答

你不能

^$这样的锚不能在任何其他内容中捕获,它们不是字符。这些锚点的匹配部分实际上是在字符之间,因此^在nothing和字符串的第一个字符之间匹配,对于带有$的字符串的结尾也是如此。当你把这些放进一个字符类的时候,它们就失去了意义。你知道吗

一般情况下,可以在正则表达式中使用字符类[\b\s]。你知道吗

相关问题 更多 >