如果有任何字符,请在括号前添加空格



如果有字符,如何在开括号(之前添加空格,如果有空格,如何不添加空格?

我试着用这个表达:

re.sub("[^}]*(", ' $1', line)

但它不起作用。

如何检查开括号前是否有字符,如果没有空格,请添加空格?

您可以使用以下正则表达式:

(S)(

并替换为r'1 ('(S)将把任何不是空白的字符捕获到组1中。由于它是一个消耗子模式,因此字符串开头的(不会匹配((之前必须有一个字符)。

在Python中,backreferences是用反斜杠定义的(或者用g<n>语法来使它们明确)。

请注意,要在字符串开头匹配一个((在字符串中的第一个(之前添加一个空格),请使用r'(?<!s)(' regex(带有一个非消耗子模式-一个负查找(?<!s),确保(之前没有空白字符):

re.sub(r"(?<!s)(", r' (', "(some text)") # => " (some text)"

请参阅Python演示:

import re
print(re.sub(r"(S)(", r'1 (', "(some text)"))      # => (some text)
print(re.sub(r"(S)(", r'1 (', "Text(some text)"))  # => Text (some text)
print(re.sub(r"(?<!s)(", r' (', "(some text)"))     # =>  (some text)

请注意,使用原始字符串文字来声明正则表达式和正则表达式替换(这有助于避免许多意外问题)。请参阅什么是"原始字符串正则表达式"以及如何使用它

尝试subthis:

(w)(

有了这个:

1 (

演示

最新更新