RegEx: Match Mr. Ms. etc in a "Title" Database field -
i need build regex expression gets text strings title field of database. i.e. complete strings being searched are: mr.
or ms.
or dr.
or sr.
etc.
unfortunately field free field , written it. e.g.: m.
; a
; cfo
etc.
the expression needs match on except: mr.
; ms.
; dr.
; sr.
(note: list bit longer simplicity keep short.)
what have tried far:
this using on on field:
^(?!(vip)$).*
(this match every string except "vip")
i rewrote expression this:
^(?!(mr.|ms.|dr.|sr.)$).*
unfortunately did not work. assume because because of "." (dot) reserved symbol in regex , needs special handling.
i tried:
^(?!(mr\.|ms\.|dr\.|sr\.)$).*
but no luck well.
i looked around in forum , tested other solutions not find works me.
i know how can build formula search complete (short) string , matches except "mr." etc. appreciated!
note: question might seem unusual , seems have many open ends , possible errors. rest of application handling open ends. please trust me this.
if want string not start 1 of prefixes, this:
^(?!([mds]r|ms)\.).*$
the above ensures beginning of string (^
) not followed 1 of listed prefixes. (you shouldn't need .*$
in case you're using engine requires complete match.)
if want string not have prefixes anywhere, do:
^(.(?!([mds]r|ms)\.))*$
the above ensures every character (.
) not followed 1 of listed prefixes, end (so $
is necessary in one).
i read list of prefixes may longer, let me expand add:
^(.(?!(mr|ms|dr|sr)\.))*$
you entirely of prefixes? this:
^(?!mr|ms|dr|sr)\.$
and if want make dot conditional:
^(?!mr|ms|dr|sr)\.?$ ^
Comments
Post a Comment