![](/img/trans.png)
[英]How do I convert a regex with pack and hex from Perl to Python?
[英]How do I translate this perl regex into python?
我想在Python中使用以Perl編寫的正則表達式為:
$text =~ s/\[\[category:([^|\]]*)[^]]*\]\]/[[$1]]/ig;
任何人都知道如何做到這一點? 我還需要提取捕獲組(Perl中$1
)。
在python中,您使用re.sub
而不是perl s///
運算符。 您給它正則表達式字符串作為第一個參數。 不需要\\
轉義的“原始字符串”的特殊語法(如r'\\')將為您提供幫助。 替換作為第二個參數,您還使用\\1
而不是$1
進行反向引用。 python中沒有主題變量之類的東西,因此您需要顯式傳遞源字符串作為第三個參數。 然后添加正則表達式標志作為專用的命名參數,它們的值存儲在re.I
, re.S
,...常量中。 您不需要g
標志,因為re.sub
在默認情況下是全局的:
import re
text = re.sub(r'\[\[category:([^|\]]*)[^]]*\]\]', '[[\1]]',
text, flags=re.I)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.