8
<p>I'd like to find the string between the two paragraph tags.</p><br><p>And also this string</p>

How would I get the string between the first two paragraph tags? And then, how would I get the string between the 2nd paragraph tags?

3 Answers 3

15

Regular expressions

import re
matches = re.findall(r'<p>.+?</p>',string)

The following is your text run in console.

>>>import re
>>>string = """<p>I'd like to find the string between the two paragraph tags.</p><br><p>And also this string</p>"""
>>>re.findall('<p>.+?</p>',string)
["<p>I'd like to find the string between the two paragraph tags.</p>", '<p>And also this string</p>']
Sign up to request clarification or add additional context in comments.

4 Comments

I've given you an upvote, but please correct these misspells in frirst fragment. Should be </p>
This might sound stupid but how come this doesn't work? split = re.findall('<p>.+?</p>',content) ...... second = split[1]......it gives me an index out of range error. How do I get the 2nd element?
@Zorgan, could you have changed the content? it works in my console: >>> split = re.findall('<p>(.+?)</p>',string) >>> split[1] 'And also this string'
Yeah it was my content, i've fixed it now. Thanks.
13

If you want the string between the p tags (excluding the p tags) then add parenthesis to .+? in the findall method

import re
    string = """<p>I'd like to find the string between the two paragraph tags.</p><br><p>And also this string</p>"""
    subStr = re.findall(r'<p>(.+?)</p>',string)
    print subStr

Result

["I'd like to find the string between the two paragraph tags.", 'And also this string']

1 Comment

Superb. Just what I needed.
0

In between <p> and </p>

In [7]: content = "<p>I'd like to find the string between the two paragraph tags.</p><br><p>And also this string</p>"

In [8]: re.findall(r'<p>(.+?)</p>', content)
Out[8]: 
["I'd like to find the string between the two paragraph tags.",
 'And also this string']

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.