Regex 正则表达式:如何删除相同字符串的重复?
我想从日期开始找年份。 日期的格式如下所示Regex 正则表达式:如何删除相同字符串的重复?,regex,python-2.7,Regex,Python 2.7,我想从日期开始找年份。 日期的格式如下所示 "Nov.-Dec. 2010" "Aug. 30 2011-Sept. 3 2011" "21-21 Oct. 1997" 很明显,在列表中,它有两个字符串项,如“2011年8月30日-2011年9月3日” 我不想重复,我该怎么做?您可以在正则表达式中使用反向引用(参见语法): 或者,您可以使用当前的正则表达式并将此逻辑放入python代码中: if a[0] == a[1]: ... 您可以在正则表达式中使用backreference
"Nov.-Dec. 2010"
"Aug. 30 2011-Sept. 3 2011"
"21-21 Oct. 1997"
很明显,在列表中,它有两个字符串项,如
“2011年8月30日-2011年9月3日”
我不想重复,我该怎么做?您可以在正则表达式中使用反向引用(参见语法): 或者,您可以使用当前的正则表达式并将此逻辑放入python代码中:
if a[0] == a[1]:
...
您可以在正则表达式中使用backreference(参见语法): 或者,您可以使用当前的正则表达式并将此逻辑放入python代码中:
if a[0] == a[1]:
...
使用以下功能:
def getUnique(date):
q = re.compile("\d\d\d\d")
output = []
for x in q.findall(date):
if x not in output:
output.append(x)
return output
但是它是O(n^2),输入列表的每个元素都重复使用not in
请参见使用以下功能:
def getUnique(date):
q = re.compile("\d\d\d\d")
output = []
for x in q.findall(date):
if x not in output:
output.append(x)
return output
但是它是O(n^2),输入列表的每个元素都重复使用not in
请看对不起,我不能给你超过+1的答案,然后请勾选旁边的绿色V,将他的答案标记为正确!对不起,我不能给你超过+1的答案。然后,请勾选旁边的绿色V,将他的答案标记为正确!
def getUnique(date):
q = re.compile("\d\d\d\d")
output = []
for x in q.findall(date):
if x not in output:
output.append(x)
return output