Regular Expression Problem...

Caleb Hattingh caleb1 at telkomsa.net
Wed Dec 1 23:55:07 EST 2004


Obviously, Peter and Jorge are hardcore, but below is what a beginner like  
me hacked up:

My point, I guess, is that it is possible to quickly get a solution to a  
specific problem like this without being a total expert.  The code below  
was typed out once, and with only one minor correction before it produced  
the required behaviour.  Sure, it is not the general solution, but *this  
is WHY I use python* - You get a lot of mileage out of the basics.  Plus,  
I can still read and understand the sub-optimal code, and probably will be  
able to several years from now :)

Regular expressions are real powerful, and I am learning through using ViM  
- but it takes time and practice.

(err, I didn't include your example with quotes, but you should get the  
general idea)
***
'>>> stngs = [r'This Is An $EXAMPLE String', r'This Is An  
$EXAMPLE.String', r'This Is An $EXAMPLE',r'This Is An \$EXAMPLE\String']
'>>> stngs
['This Is An $EXAMPLE String', 'This Is An $EXAMPLE.String', 'This Is An  
$EXAMPLE', 'This Is An \\$EXAMPLE\\String']

'>>> for i in stngs:
	wdlist = i.split(' ')
	for j in wdlist:
		if j.find(r'$') > -1:
			dwd = j.split('.')[0]
			if dwd.find('\\') > -1:
				dwd = dwd.split('\\')[1]
			print dwd
			
$EXAMPLE
$EXAMPLE
$EXAMPLE
$EXAMPLE
'>>>
***




On Wed, 01 Dec 2004 13:40:17 +0100, Peter Otten <__peter__ at web.de> wrote:

> andrea.gavana at agip.it wrote:
>
>> identifying/extracting a substring from another string. What I have to  
>> do
>> is to extract all the strings that begins with a "$" character, but
>> excluding characters like "." (point) and "'" (single quote) and "\" "/"
>> (slashes). For example I have:
>>
>> 1) This Is An $EXAMPLE String
>> 2) This Is An $EXAMPLE.String
>> 3) 'This Is An $EXAMPLE'
>> 4) This Is An \$EXAMPLE\String;
>>
>> I would like to extract only the "keyword" $EXAMPLE and what I'm using  
>> at
>
> Is that what you want?
>
>>>> import re
>>>> r = re.compile("[$]\w+")
>>>> r.findall("""
> ... 1) This Is An $EXAMPLE String
> ... 2) This Is An $EXAMPLE.String
> ... 3) 'This Is An $EXAMPLE'
> ... 4) This Is An \$EXAMPLE\String;
> ... """)
> ['$EXAMPLE', '$EXAMPLE', '$EXAMPLE', '$EXAMPLE']
>
> Peter
>




More information about the Python-list mailing list