Python Forum
Python Regular expression, small sample works but not on file
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Python Regular expression, small sample works but not on file
#5
@bowlofrred,

Thank you very much. I think my concepts are wrong and thank you for the time and trying to help me.
I am learning and not a programmer as such, to be honest.

In the actual view source extract, the data is not in new lines to execute this statement.
I added a below lines to the actual extract and I got the right answer. So Regex is fine but I need help to work on the actual data sample to make add a new line before and after <span id> then I think, I will get what I need. How do we do that,
For each line I need to check for <span id, and insert \n to the string.

<span id="AccordionHeaderText52741" class="clsAccordionHeaderText"><a id="AccordionHeaderTab52741" tabIndex="101" onkeydown="websys_ToggleAccordion('52741',event);">Billing</a></span>
<span id="AccordionHeaderText52741" class="clsAccordionHeaderText"><a id="AccordionHeaderTab52741" tabIndex="101" onkeydown="websys_ToggleAccordion('52741',event);">Anand</a></span>
<span id="AccordionHeaderText52741" class="clsAccordionHeaderText"><a id="AccordionHeaderTab52741" tabIndex="101" onkeydown="websys_ToggleAccordion('52741',event);">Python</a></span>

Here is my requirement
I need to do web scraping and pull out the menu items about 120 of them as I searched for onclick.. a keyword that follows the string into a text file.

When I run a test sample with just one matching, it matches with what I want to extract.

Example: In the actual file, I have these occurences of html,
onclick="websys_CaptionClickHandler(event);">Code</label>

I need to extract the word "Code" from this and repeat it for all the occurrences of it.
I really do not need when line or other text at all. I just need those words wrapped in between (event);"> DATA I NEEDED </label>

Please can you help?

Thanks in advance

(Jun-09-2021, 03:38 PM)bowlofred Wrote: Do a check for when the match fails, then print out the line in question. If you don't understand why the match fails, you can ask about it.

Also, why are you matching every line in the text file, but then only printing out the match that happens on the last line?

import re
with open('testregpad.txt') as f:
    for line in f:
        match = re.search('event\);\">(.*)<\/a.*', line)
        if match:
            print(match.group(1))
        else:
            print(f"Failed to find a match in line: {line}")
Reply


Messages In This Thread
RE: Python Regular expression, small sample works but not on file - by Acernz - Jun-09-2021, 06:22 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Regular expression help anilrajr 4 551 May-08-2024, 06:18 PM
Last Post: deanhystad
  data validation with specific regular expression shaheen07 0 426 Jan-12-2024, 07:56 AM
Last Post: shaheen07
  Python beginner that needs an expression added to existing script markham 1 811 Sep-04-2023, 05:24 AM
Last Post: Pedroski55
  Recursive regular expressions in Python risu252 2 1,655 Jul-25-2023, 12:59 PM
Last Post: risu252
  Regular Expression search to comment lines of code Gman2233 5 1,837 Sep-08-2022, 06:57 AM
Last Post: ndc85430
  List Creation and Position of Continue Statement In Regular Expression Code new_coder_231013 3 1,804 Jun-15-2022, 12:00 PM
Last Post: new_coder_231013
  Convert nested sample json api data into csv in python shantanu97 3 3,094 May-21-2022, 01:30 PM
Last Post: deanhystad
  Need help with my code (regular expression) shailc 5 2,074 Apr-04-2022, 07:34 PM
Last Post: shailc
  Regular Expression for matching words xinyulon 1 2,251 Mar-09-2022, 10:34 PM
Last Post: snippsat
Question Opening small size browser with python selenium not work, need help greenpine 0 1,692 Feb-07-2022, 11:36 AM
Last Post: greenpine

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020