Apply list of regex pattern on list python

  • A+
Category:Languages

I have data frame in which txt column contains a list. I want to clean the txt column using function clean_text().

data = {'value':['abc.txt', 'cda.txt'], 'txt':['[''2019/01/31-11:56:23.288258 1886     7F0ED4CDC704     asfasnfs: remove datepart'']',                                                '[''2019/02/01-11:56:23.288258 1886     7F0ED4CDC704     asfasnfs: remove datepart'']']} df = pandas.DataFrame(data=data)  def clean_text(text):     """     :param text:  it is the plain text     :return: cleaned text     """     patterns = [r"^{53}",                 r"[A-Za-z]+[/d]+[/w]*|[/d]+[A-Za-z]+[/w]*",                 r"[-=/':,?${}/[/]-_()>.~" ";+]"]      for p in patterns:         text = re.sub(p, '', text)      return text 

My Solution:

df['txt'] = df['txt'].apply(lambda x: clean_text(x)) 

But I am getting below error: Error

sre_constants.error: nothing to repeat at position 1 

 


^{53} is not a valid regular expression, since the repeater {53} must be preceded by a character or a pattern that can be repeated. If you mean to make it validate a string that is at least 53 characters long you can use the following pattern instead:

^.{53} 

Comment

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: