output = input_text.replace('una', '1')
它应该用字符串"1"
、but only in certain cases替换子字符串"una"
.问题是,我很难找到指定的正则表达式模式或模式的串联,这些模式允许我们获得这些"una"
x"1"
的替换.
在这里,我添加了9个此正则表达式应该运行的示例
#example 1
input_text = "ashashj a la una y una jhasjhdjhas" #input
output = "ashashj a la 1 y 1 jhasjhdjhas" #the expected output string
#example 2
input_text = "ajshdjhas a las una y una hsdhjds"
output = "ajshdjhas a las 1 y 1 hsdhjds"
#example 3
input_text = "A la una y cuarto hjjhhj"
output = "A la 1 y cuarto hjjhhj"
#example 4
input_text = "a las una y media hjjhsssshj"
output = "a las 1 y media hjjhsssshj"
#example 5
input_text = "A la una y menos cuarto hjjhhj"
output = "A la 1 y menos cuarto hjjhhj"
#example 6
input_text = "A las una en punto ashjs"
output = "A las 1 en punto ashjs"
#example 7
input_text = "asas a la una en punto ajs"
output = "asas a la 1 en punto ajs"
#example 8
input_text = "hay que colocar una buena antena... algunas ya estaran entre la una y las una y media, pero con estar a eso de la una y una esta bien para alguna. A eso de la una! deberia estar como mucho a la una y poco mas, almenos una de ellas"
output = "hay que colocar una buena antena... algunas ya estaran entre la 1 y las 1 y media, pero con estar a eso de la 1 y 1 esta bien para alguna. A eso de la 1! deberia estar como mucho a la 1 y poco mas, almenos una de ellas"
#example 9
input_text = "unas o algunas de ellas, ya estan entre la una, cerca de la una y las una y media, pero con estar a eso de la una; esta bien para llegar temprano, pero no quiero pasarme de la una y una."
output = "unas o algunas de ellas, ya estan entre la 1, cerca de la 1 y las 1 y media, pero con estar a eso de la 1; esta bien para llegar temprano, pero no quiero pasarme de la 1 y 1."
我已经想过用两种正则表达式模式来做这件事,也许是这样的…
r"(a las|a la|:)\s*una"
个
然后这个图案
r"una\s*(y cuarto|y media|y menos cuarto|menos cuarto|:)"
个
,if至少one of them is true……然后用"1"
替换"una"