ahhhhhhhhh I swear I never came across any of these gems of information in the docs. It was these subtle differences that were throwing me. I didn't originally catch that regex's were based on grep/sed/awk syntax which I haven't studied throughly yet. I've only used some basic operations in bash scripts. I'll read up more on those. Thanks. MP --- Douglas McNaught <doug@xxxxxxxxxxxx> wrote: > Matthew Peter <survivedsushi@xxxxxxxxx> writes: > > > One other thing, when I wrote back I actually used > > 34.31.29.20 (random), not 12.00.00.34 like i > showed in > > the example, which is why i said it didn't work on > > digits. > > > > SELECT substring('34.31.29.20' FROM > $$((\w+)\.\2)$$); > > substring > > ----------- > > > > (1 row) > > > > little did i know writing it with 12.00.00.34 > would > > return 00.00... so yes, that did suprise me. > > Apparently only using the identical values returns > a > > value. so it's saying x+ one more of the same > value > > separated by a period... where shouldn't it be any > > "letter, number or underscore" followed by any > > "letter, number or underscore"? > > Backreferences match the exact string matched by the > corresponding set > of parentheses. It's not the equivalent of > substituting in the > parenthesized part of the regex and testing that for > a match. The > behavior above is as expected. If you want it as > "any followed by > any" you shold write the regex as '((\w+)\.(\w+))' > -- then the two > parts can differ. > > -Doug > ______________________________________________________ Click here to donate to the Hurricane Katrina relief effort. http://store.yahoo.com/redcross-donate3/ ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster