Skip to main content

Python regex finditer

Just a revision for me, sharing with you all!
so i have problem to find multiple keywords in a text. i tried using re.search. but that wouldnt work.
as re.search only applicable if keyword found first in a group match.

so, lets go ahead!

i ran using python2.7

Example code for find keywords appearance using python re.finditer (regex)
 search_keywords = ["smart", "high", "confident", "mature"] 

 Now we join the keywords with OR operator | , it will looks something like this
 smart|high|confident|mature
search_patterns = "|".join(search_keywords)

Sample input text
text = "This is a story about a girl. Living in a secluded area in Wonderland.\n" \
       "She is small but very smart and smart, how ever she has verly low confident. Dont judge a book" \
       "by its cover.\n The way she thinks shown how mature she is."


 Now we update the pattern again with ( ) - > parenthesis
 The object is to capture the keyword as a group not individual character. it will looks like
 (smart|high|confident|mature)
search_patterns = "(%s)" % search_patterns
regex = re.compile(search_patterns)


 To find all pattern matches we need to use finditer function. because findall/search will
 only return the first match of the keyword in (smart|high|confident)
 If we use online regex parser,
 we can see that to achieve the same thing we need to apply "Global" flag. Unfortunately python
 doesnt support that.
it = regex.finditer(text, re.MULTILINE)


 To check individual match result, iterate and print m.group()
for match in it: 
    print match.group()


 When you ran, you will get this result
 smart
 smart
 confident
 mature

Try out too!, i did post the note in git. you may refer there

Comments

Popular posts from this blog

Tutorial on Min3D framework using Android Studio

Salam peeps, UPDATES***, the model on the old link is no longer working. so i have create a github repo, where i put the source code in a project, you guys can try to clone in and run on your android studio device emulator or directly on your phone, Ive replaced the model with a cube. https://github.com/aliaramli/Min3DTutorial Previously i ve posted tutorial on min3D using eclipse IDE, i believe most of us has moved to Android Studio IDE in developing android apps? As previous tutorial shows a lot of support from readers and among hot post in my blog, i ve decided to post the same tutorial but this time using Android Studio. For those who are familiar with Eclipse/Android Studio migration they might not have problem in running this tutorial . For more detail explanation on min3D please visit this website page Ok lets get started. Step One Create a new android project in android studio. you may name it as what you like, below are how i defined my project settings. ...

Get the last active time from users in woocommerce using sql query

To easily get the last active time from users (under Woocommerce extended plugin) we can easily query from database using the meta_key of "wc_last_active" example query: select user_id, meta_value from wp_usermeta where meta_key= "wc_last_active" and user_id in (11111,112222); results: +-------------+------------------+ | user_id    | meta_value | +-------------+-------------------+ |   11111   | 1556755200 | |   112222 | 1566518400 |

AWS Workspace Device is not Authorized Linux Client

Have you guys tried the AWS Workspace? They are offering the service for free from April - June 2020. For a limited time, in response to COVID-19 , starting April 1, 2020 through June 30, 2020, Amazon WorkSpaces Free Tier provides up to 50 WorkSpaces with Windows Standard bundle with 80 GB Root and 50 GB User Volumes, running in AutoStop mode for up to 10,000 hours of combined use per month across all AWS Regions where WorkSpaces Free Tier is currently available. Additionally, the Amazon WorkSpaces Free Tier provides one WorkSpace with Windows Performance bundle with 80 GB Root and 100 GB User Volumes, running in AutoStop mode for up to 200 hours, two WorkSpaces with Linux Standard bundle with 80 GB Root and 50 GB User Volumes, running in AutoStop mode for up to 400 hours, and one WorkSpace with Windows Value bundle with 80 GB Root and 10 GB User Volume, running in AutoStop mode for up to 200 hours. All new customers that start using WorkSpaces for the first time during ...