我很难用正则表达式来解决这个表达式
e.g when given below:
regex_exp(address, "OG 56432")
它应该会回来
地址是一个字符串数组:
address = [
"622 Gordon Lane St. Louisville OH 52071",
"432 Main Long Road St. Louisville OH 43071",
"686 Middle Street Pollocksville OG 56432"
]
我的解决方案目前如下(Python):
import re
def regex_exp(address, zipcode):
for i in address:
if zipcode in i:
postal_code = (re.search("[A-Z]{2}\s[0-9]{5}", x)).group(0)
# returns "OG 56432"
digits = (re.search("\d+", x)).group(0)
# returns "686"
address = (re.search("\D+", x)).group(0)
# returns "Middle Street Pollocksville OG"
print(postal_code + ":" + address + "| " + digits)
regex_exp(address, "OG 56432")
# returns OG 56432: High Street Pollocksville OG | 686
从我的第二段可以看出,这不是正确的答案-我需要返回的值为
^{pr2}$如何操作我的地址变量Regex搜索,以排除2个大写连续大写字母?我试过像
address = (re.search("?!\D+", x)).group(0)
删除基于A regular expression to exclude a word/string的两个连续的大写字母,但我认为这是一个错误的步骤。在
PS:我知道有更简单的方法来解决这个问题,但我想用正则表达式来改进我的基础知识
如果您只想删除邮政编码(一个5位数字)的前两个连续的大写字母,那么使用这个
删除所有出现的两个连续大写字母:
^{pr2}$与re.sub公司()和组捕获可以使用:
相关问题 更多 >
编程相关推荐