簡體   English   中英

如何在python中更有效地執行此正則表達式替換而不重復搜索?

[英]How to perform this regex replacement more effectively in python without repeating the search?

在python中,我要搜索給定行中的模式,並用html標記將其包圍。 我這樣做如下:

pattern = "(boy|girl)"
line = "I am a boy"

m = re.search(pattern, line)
line = re.sub(pattern, "<strong><u>"+m.group(0)+"</u></strong>", line)

但是我覺得我要重復兩次搜索。 換句話說,我覺得我應該能夠在一行中完成,但是我只是不知道python中正確的命令。

perl中是否有類似“&”的東西? 您可以用來執行以下操作:

s/pattern/<tag>&</tag>/;

采用:

line = re.sub(pattern, r'<strong><u>\1</u></strong>', line)

\\1是關鍵部分-替換為與模式匹配的文本。 (在所有RE模式中建議使用r前綴,以使反斜杠轉義符保持原樣)。

暫無
暫無

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

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