Python: Using Regex Stored In Csv
I am just testing out a small python script of which I will use part in a larger script. Basically I am trying to lookup a field in a CSV file (where it contains a regex), and use
Solution 1:
According to the docs re.match
matches at the beginning of the input string. You need to use re.search
. Also, there's no need to compile if you don't reuse them afterwards. Just say test = re.search(regex, input)
.
In the regular expressions in your example you don't have any capture groups, so test.group(1)
is going to fail, even if there's a match in the input
.
import sys
import re
import csv
input = 'foo blah 38902462986.328946239846'
reader = csv.reader(open('test.csv','rb'), delimiter=',', quotechar="\"")
for row in reader:
value = row[0]
if value ininput:
regex = row[2]
test = re.search(regex, input)
printinput[test.start():test.end()]
Prints:
38902462986.328946239846
Post a Comment for "Python: Using Regex Stored In Csv"