# use the power of regular expressions # bite the bullet and review the regular expression syntax import re # lets say you have created the next search engine # your search engine extracts the contents of # the <title></title> tags theString = """ <lots of garbage and # what not and this title is going to be cool> <myTitle> will be awesome. And once you get <title>the title is here</title> and then there is the end """ # you compile a regular expression to search # for the contents of the title tag # (this is where the regular expression syntax http://docs.python.org/library/re.html#regular-expression-syntax # comes in handy) # the one thing to certainly notice is that there are # parenthesis surrounding the contents of the title tag. # These are called backreferences. Once we've run the search # we'll be able to reference these. p = re.compile('<title>(.+)<\/title>') # now search theString m = re.search(p, theString) # you can test whether or not your # regular expression was successfull if m: print "regular expression search successfull!" # referencing group #1 references the first backreference print "the title contents are:", m.group(1) # group # 0 is the entire regular expression result print "the entire regular expression returned:", m.group(0) else: print "regular expression search returns no results" #output: # regular expression search successfull! # the title contents are: the title is here # the entire regular expression returned: <title>the title is here</title>
A python example based blog that shows how to accomplish python goals and how to correct python errors.
Showing posts with label re. Show all posts
Showing posts with label re. Show all posts
Wednesday, September 30, 2009
Python - regular expression backreference example
Labels:
backreference,
compile,
group,
python,
re,
regular expressions,
search
Tuesday, September 29, 2009
Python - simple regular expression examples
# regular expressions are extremely powerful # here are some simple examples to get you started import re text = "Some example text to manipulate with regular expressions." # find the location of all the vowels # iterate through all vowels # here I've used the finditer method to return and # and iterator through the results for i in re.finditer('[aeiouy]', text): print "location:", i.start(), " to ", i.end() print " found text was: ", text[i.start():i.end()] # output: #location: 1 to 2 # found text was: o #location: 3 to 4 # found text was: e # # SNIP -- there are lots of vowels # #location: 49 to 50 # found text was: e #location: 52 to 53 # found text was: i #location: 53 to 54 # found text was: o # use regular expressions to split your sentence into words sentence = "This is my example sentence" for word in re.split(' ', sentence): print word #Output: # This # is # my # example # sentence # search and replace regular expression functionality # replace 'regular expression' with 're' text = "regular expression text goes here" newText = re.sub('regular expression', 're', text) print newText #Outputs: # re text goes here
Monday, September 28, 2009
python - split paragraph into sentences with regular expressions
# split up a paragraph into sentences # using regular expressions def splitParagraphIntoSentences(paragraph): ''' break a paragraph into sentences and return a list ''' import re # to split by multile characters # regular expressions are easiest (and fastest) sentenceEnders = re.compile('[.!?]') sentenceList = sentenceEnders.split(paragraph) return sentenceList if __name__ == '__main__': p = """This is a sentence. This is an excited sentence! And do you think this is a question?""" sentences = splitParagraphIntoSentences(p) for s in sentences: print s.strip() #output: # This is a sentence # This is an excited sentence # And do you think this is a question
Subscribe to:
Posts (Atom)