Thread: Regex help again (sorry, I am bad at these)
'<p>Complete the attached lab and submit via dropbox</p>\r<p><a href="https://owncloud.porterchester.edu/HVACR/PCI_GasHeat/GasElectrical/HVACR1114_LAB_13A.pdf" title="Lab 13A">Lab 13A<\a>'
Need the final string to separate the "LAB_13A.pdf" from the rest of the URL by inserting a "&file=" in front of it. The final string should look like:
'<p>Complete the attached lab and submit via dropbox</p>\r<p><a href="https://owncloud.porterchester.edu/HVACR/PCI_GasHeat/GasElectrical/&file=HVACR1114_LAB_13A.pdf" title="Lab 13A">Lab 13A<\a>'
I have tried something like:
update pcilms_assign set intro=regexp_replace(intro, '/([^/]*)\" title=$', '&files=\1') where intro like '%https://owncloud.porterchester.edu%' and course=18 and id=55413;
and the result puts the &file= in the wrong place (at the end of the whole string).
Any suggestions?
Thanks!
-Chris
UPDATE pcilms_assign
SET intro = REPLACE (intro, 'HVACR1114_LAB_13A.pdf', '&file=HVACR1114_LAB_13A.pdf')
WHERE intro like 'https://owncloud.porterchester.edu%'
AND course=18 and id=55413;
Your mileage may vary because you have not stated your VERSION of PostgreSQL or your O/S.

Hello all!Sorry to have to ask the experts here for some regex assistance again. I am admittadly awful with these and could use some help.Have the following string (this is an example) that needs to be changed. Need to use a search and replace because the links across over 200K records are similar but not the same.'<p>Complete the attached lab and submit via dropbox</p>\r<p><a href="https://owncloud.porterchester.edu/HVACR/PCI_GasHeat/GasElectrical/HVACR1114_LAB_13A.pdf" title="Lab 13A">Lab 13A<\a>'
Need the final string to separate the "LAB_13A.pdf" from the rest of the URL by inserting a "&file=" in front of it. The final string should look like:
'<p>Complete the attached lab and submit via dropbox</p>\r<p><a href="https://owncloud.porterchester.edu/HVACR/PCI_GasHeat/GasElectrical/&file=HVACR1114_LAB_13A.pdf" title="Lab 13A">Lab 13A<\a>'
I have tried something like:
update pcilms_assign set intro=regexp_replace(intro, '/([^/]*)\" title=$', '&files=\1') where intro like '%https://owncloud.porterchester.edu%' and course=18 and id=55413;
and the result puts the &file= in the wrong place (at the end of the whole string).
Any suggestions?
Thanks!
-Chris
--
I reserve the right to fantasize. Whether or not you
wish to share my fantasy is entirely up to you.

## Christopher Molnar (cmolnar65@gmail.com): > I have tried something like: > > update pcilms_assign set intro=regexp_replace(intro, '/([^/]*)\" title=$', > '&files=\1') where intro like '%https://owncloud.porterchester.edu%' and > course=18 and id=55413; http://blog.codinghorror.com/parsing-html-the-cthulhu-way/ But you were close: regexp_replace(intro, '/([^/]*)" title=', '/&file=\1" title=') looks like it's doing the right thing on your example. Regards, Christoph -- Spare Space
## Melvin Davidson (melvin6925@gmail.com): > UPDATE pcilms_assign > SET intro = REPLACE (intro, 'HVACR1114_LAB_13A.pdf', > '&file=HVACR1114_LAB_13A.pdf') > WHERE intro like 'https://owncloud.porterchester.edu%' > AND course=18 and id=55413; Unfortunately, that tries to do the right thing for that example only but does not account for the 200k documents not named HVACR1114_LAB_13A.pdf. > NOTE: DO NOT use % in front of 'https: <https://owncloud.porterchester.edu> > It is not needed and will slow query performance. And that will plainly not work if the string does not start with the URL - as in the example given. It even won't work regardless of version and OS. Regards, Christoph -- Spare Space
Hello all!Sorry to have to ask the experts here for some regex assistance again. I am admittadly awful with these and could use some help.Any suggestions?
On Mon, Dec 28, 2015 at 2:08 PM, Christopher Molnar <cmolnar65@gmail.com> wrote:Hello all!Sorry to have to ask the experts here for some regex assistance again. I am admittadly awful with these and could use some help.Any suggestions?
I have found over the years that it is far easier to write a short PHP or PERL program to do tasks like this. Much easier to debug and the speed improvement by using SQL is not important for 200,000 records.