|
|
1
2
很好的问题。问题是:
当regex匹配器到达第一个匹配的末尾时,其光标位于第一个星号和单词之间
但是,当使用下划线时,以下是相应的匹配项:
当regex匹配器到达第一个匹配的末尾时,其光标位于第一个下划线和单词之间
简而言之,第一个例子是“幸运”的,因为在传递分隔符字符之后,您将在单词边界中着陆,而第二个例子不是这样。 要解决这个问题,可以使用前瞻断言,它不会使用匹配的字符。
忽略下面的横线文本,这些文本会在单词前缀上匹配,例如。
P、 你最好的选择是分裂和重新加入美国。无论如何,这很可能是re.sub在幕后所做的,因为字符串是不可变的。
|
|
|
2
0
它不会直接回答你的问题,但这不是:
比regex解决方案更优雅(反正它使用
|
|
3
0
您可以将其泛化为与任何分隔符或
|
|
|
4
0
这是另一种方式:
输出:
|