> On 5 Feb 2019, at 06:55, David G. Johnston <david.g.johns...@gmail.com> wrote: > > On Monday, February 4, 2019, David Rowley <david.row...@2ndquadrant.com > <mailto:david.row...@2ndquadrant.com>> wrote: > On Tue, 5 Feb 2019 at 01:12, Daniel Gustafsson <dan...@yesql.se > <mailto:dan...@yesql.se>> wrote: > > We may also want to use the + metacharacter instead of * in a few places, > > since > > the intent is to always match something, where matching nothing should be > > considered an error: > > > > - qr/^ALTER TEXT SEARCH DICTIONARY dump_test.alt_ts_dict1 > > OWNER TO .*;/m, > > + qr/^ALTER TEXT SEARCH DICTIONARY dump_test\.alt_ts_dict1 > > OWNER TO .*;/m, > > I looked for instances of * alone and didn't see any. I only saw ones > prefixed with ".", in which case, isn't that matching 1 or more chars > already? > > No. In Regex the following are equivalent: > > .* == .{0,} > .+ == .{1,} > . == .{1} > > A “*” by itself would either be an error or, assuming the preceding character > is a space (so it visually looks alone) would be zero or more consecutive > spaces.
Sorry for being a bit unclear in my original email, it’s as David says above: .* matches zero or more characters and .+ matches 1 or more characters. > In the above “...OWNER TO<space>;” is a valid match. Indeed, so we should move to matching with .+ to force an owner. cheers ./daniel