473,221 Members | 2,079 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,221 software developers and data experts.

Regex homeworks

i have 2 homeworks

i have to make 2 functions

1. to extract all words with literal doubled

example
text = "use the foot to hit the ball and score a goooal, and be happy."
with
print re.findall(r'XXX',text)
have to return foot,ball,gooal,happy

2. to extract all names

text = """Ms and Mr Smith decided to visit Mrs Ann Anderson. When they crossed
the Mraselrow Street they met Somebody; it was the well known Dr Jones. They talked
about Dr Ali Baba and his 40 Assistants. Mr Nada was nowhere to be found, but
Ms Rosette Rose, Ms R Fitzgeral and Mr Van Der Valt were Ok
."""

print re.findall(r'XXX',text)
shoult print

Smith, Ann Anderson, Jones, Ali Baba, Nada, Rosette Rose, R Fitzgeral, Van Der Valt
Dec 8 '07 #1
5 1337
oler1s
671 Expert 512MB
The homework assignment looks straightforward to me. Was there a question you had about it, or the code you were writing?
Dec 9 '07 #2
print re.findall(r'XXX',text)

XXX - regexpression for print what i want
Dec 9 '07 #3
bvdet
2,851 Expert Mod 2GB
print re.findall(r'XXX',text)

XXX - regexpression for print what i want
Do you expect us to provide the answer to your homework? You cannot learn that way. Show us some effort to solve the problem on your own, and maybe someone can help you from there. Following is a way for problem #1 that seems a lot simpler than regex:
Expand|Select|Wrap|Line Numbers
  1. import string
  2. textList = text.split()
  3. results = []
  4. for word in textList:
  5.     for i, letter in enumerate(word):
  6.         try:
  7.             if word[i+1] == letter:
  8.                 results.append(word.strip(string.punctuation))
  9.                 break
  10.         except IndexError, e:
  11.             break
  12.  
  13. print results
Output:
>>> ['foot', 'ball', 'goooal', 'happy']
Dec 9 '07 #4
u don`t understand me
i have to print using reg expressions

like example here

Expand|Select|Wrap|Line Numbers
  1. import re
  2.  
  3. def find_thousand():
  4.     """
  5.     Write a regular expression that matches numbers
  6.     that are written using "'" as thousand separator:
  7.     >>> find_thousand()
  8.     124 1,234 4,321,434 234,231 987,654,321,333,551
  9.     """
  10.     text = """Go:124 is not 1,234 nor 1233 and  3,14 12,12 din 70,
  11.               definetly yes 4,321,434 div 234,231 987,654,321,333,551"""
  12.     f  =  re.findall(r''' (?<![\d,])                # it is not preceded by other digit or comma
  13.                           (\d{1,3}                  # has 1..3 digits
  14.                           (,\d{3})*)                # possibly followed by comma and groups of 3 digits
  15.                           (?![\d,])                 # and at the end has no other digit or comma
  16.                           ''', text, re.VERBOSE)
  17.     print " ".join([i[0] for i in f])
for my homework
[HTML]
def count_doubles():
"""
Find all the words that contain double letters inside them (or at the end)
For the provided text the routine should behave like this:
>>> count_doubles()
foot, ball, goooal, happy
"""
text = "use the foot to hit the ball and score a goooal, and be happy. i i i'll go."[/HTML]

I have to make my homework only with regular expression
Dec 9 '07 #5
bvdet
2,851 Expert Mod 2GB
u don`t understand me
i have to print using reg expressions

like example here

Expand|Select|Wrap|Line Numbers
  1. import re
  2.  
  3. def find_thousand():
  4.     """
  5.     Write a regular expression that matches numbers
  6.     that are written using "'" as thousand separator:
  7.     >>> find_thousand()
  8.     124 1,234 4,321,434 234,231 987,654,321,333,551
  9.     """
  10.     text = """Go:124 is not 1,234 nor 1233 and  3,14 12,12 din 70,
  11.               definetly yes 4,321,434 div 234,231 987,654,321,333,551"""
  12.     f  =  re.findall(r''' (?<![\d,])                # it is not preceded by other digit or comma
  13.                           (\d{1,3}                  # has 1..3 digits
  14.                           (,\d{3})*)                # possibly followed by comma and groups of 3 digits
  15.                           (?![\d,])                 # and at the end has no other digit or comma
  16.                           ''', text, re.VERBOSE)
  17.     print " ".join([i[0] for i in f])
for my homework
[HTML]
def count_doubles():
"""
Find all the words that contain double letters inside them (or at the end)
For the provided text the routine should behave like this:
>>> count_doubles()
foot, ball, goooal, happy
"""
text = "use the foot to hit the ball and score a goooal, and be happy. i i i'll go."[/HTML]

I have to make my homework only with regular expression
I understood you. You did not understand me. We cannot provide answers to homework questions.
Dec 9 '07 #6

Sign in to post your reply or Sign up for a free account.

Similar topics

3
by: Jon Maz | last post by:
Hi All, Am getting frustrated trying to port the following (pretty simple) function to CSharp. The problem is that I'm lousy at Regular Expressions.... //from...
9
by: Tim Conner | last post by:
Is there a way to write a faster function ? public static bool IsNumber( char Value ) { if (Regex.IsMatch( Value.ToString(), @"^+$" )) { return true; } else return false; }
20
by: jeevankodali | last post by:
Hi I have an .Net application which processes thousands of Xml nodes each day and for each node I am using around 30-40 Regex matches to see if they satisfy some conditions are not. These Regex...
17
by: clintonG | last post by:
I'm using an .aspx tool I found at but as nice as the interface is I think I need to consider using others. Some can generate C# I understand. Your preferences please... <%= Clinton Gallagher ...
6
by: Extremest | last post by:
I have a huge regex setup going on. If I don't do each one by itself instead of all in one it won't work for. Also would like to know if there is a faster way tried to use string.replace with all...
7
by: Extremest | last post by:
I am using this regex. static Regex paranthesis = new Regex("(\\d*/\\d*)", RegexOptions.IgnoreCase); it should find everything between parenthesis that have some numbers onyl then a forward...
3
by: aspineux | last post by:
My goal is to write a parser for these imaginary string from the SMTP protocol, regarding RFC 821 and 1869. I'm a little flexible with the BNF from these RFC :-) Any comment ? tests= def...
15
by: morleyc | last post by:
Hi, i would like to remove a number of characters from my string (\t \r \n which are throughout the string), i know regex can do this but i have no idea how. Any pointers much appreciated. Chris
0
by: Karch | last post by:
I have these two methods that are chewing up a ton of CPU time in my application. Does anyone have any suggestions on how to optimize them or rewrite them without Regex? The most time-consuming...
0
by: VivesProcSPL | last post by:
Obviously, one of the original purposes of SQL is to make data query processing easy. The language uses many English-like terms and syntax in an effort to make it easy to learn, particularly for...
3
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 3 Jan 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). For other local times, please check World Time Buddy In...
0
by: jianzs | last post by:
Introduction Cloud-native applications are conventionally identified as those designed and nurtured on cloud infrastructure. Such applications, rooted in cloud technologies, skillfully benefit from...
0
by: mar23 | last post by:
Here's the situation. I have a form called frmDiceInventory with subform called subfrmDice. The subform's control source is linked to a query called qryDiceInventory. I've been trying to pick up the...
0
by: abbasky | last post by:
### Vandf component communication method one: data sharing ​ Vandf components can achieve data exchange through data sharing, state sharing, events, and other methods. Vandf's data exchange method...
2
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 7 Feb 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:30 (7.30PM). In this month's session, the creator of the excellent VBE...
0
by: fareedcanada | last post by:
Hello I am trying to split number on their count. suppose i have 121314151617 (12cnt) then number should be split like 12,13,14,15,16,17 and if 11314151617 (11cnt) then should be split like...
0
by: stefan129 | last post by:
Hey forum members, I'm exploring options for SSL certificates for multiple domains. Has anyone had experience with multi-domain SSL certificates? Any recommendations on reliable providers or specific...
0
by: MeoLessi9 | last post by:
I have VirtualBox installed on Windows 11 and now I would like to install Kali on a virtual machine. However, on the official website, I see two options: "Installer images" and "Virtual machines"....

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.