簡體   English   中英

python中的正則表達式需要保留特殊字符

[英]regular expressions in python need to retain special characters

下面是我的不干凈的文本字符串

text = 'this/r/n/r/nis a non-U.S disclosures/n/n/r/r analysis agreements disclaimer./r/n/n/nPlease keep it confidential' 

以下是我正在使用的正則表達式:

 ' '.join(re.findall(r'\b(\w+)\b', text))

我的輸出是:

'this is a non US disclosures analysis agreements disclaimer. Please keep it confidential'

我的預期輸出是:

 'this is a non-U.S disclosures analysis agreements disclaimer. Please keep it confidential'

我需要在單詞之間保留特殊字符和空格,應該恰好有一個空格。 誰能幫我改變我的正則表達式?

希望這對您有用!

str ='此/ r / n / r / nis非美國披露/ n / n / r / r分析協議免責聲明。/r/n/n/n請對其保密”

val = re.sub(r'(/。?)',“”,str); val1 = re.sub(r'\\ s +',“”,val)print(val1)

使用比\\ b($表示字符串的末尾不能放在方括號內,因此您必須在$ | \\ n | \\ r |中使用或顯式,而?=是非像\\ b一樣使用前瞻,這里也更安全的是使用非貪婪非空累加器(+號使其成為非空,問號使其成為非貪婪):

re.findall(r'[^\n\r ]+?(?=$|\n|\r| )', text)

[“此”,“是”,“一個”,“非美國”,“披露”,“分析”,“協議”,“免責聲明”,“請”,“保留”,“它”, '機密']

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM