I'm trying to write a regex similar to
^[a-zA-Z.{0,1},{0,1}'{0,1}]*
However, this can accept more than one comma, period, and apostrophes.
For example "String.,'" is allowed but "str.,..,,,'''" should not be allowed.
I'm trying to write a regex similar to
^[a-zA-Z.{0,1},{0,1}'{0,1}]*
However, this can accept more than one comma, period, and apostrophes.
For example "String.,'" is allowed but "str.,..,,,'''" should not be allowed.
 
    
    Use
^(?!.*([.,']).*\1)[a-zA-Z.,']*$
See regex proof.
EXPLANATION
--------------------------------------------------------------------------------
  ^                        the beginning of the string
--------------------------------------------------------------------------------
  (?!                      look ahead to see if there is not:
--------------------------------------------------------------------------------
    .*                       any character except \n (0 or more times
                             (matching the most amount possible))
--------------------------------------------------------------------------------
    (                        group and capture to \1:
--------------------------------------------------------------------------------
      [.,']                    any character of: '.', ',', '''
--------------------------------------------------------------------------------
    )                        end of \1
--------------------------------------------------------------------------------
    .*                       any character except \n (0 or more times
                             (matching the most amount possible))
--------------------------------------------------------------------------------
    \1                       what was matched by capture \1
--------------------------------------------------------------------------------
  )                        end of look-ahead
--------------------------------------------------------------------------------
  [a-zA-Z.,']*             any character of: 'a' to 'z', 'A' to 'Z',
                           '.', ',', ''' (0 or more times (matching
                           the most amount possible))
--------------------------------------------------------------------------------
  $                        before an optional \n, and the end of the
                           string
