I want to check an input string to validate a proper text.
a. I want the users to allow to writer alphanumeric characters including period, comma, hyphen and round b
You can use the regex:
(?!.*(.)\1{2})^[a-zA-Z0-9.,()-]*$
It uses the negative lookahead (?!.*(.)\1{2})
to ensure that there is no group of 3 repetitions of any of the characters.
Then it uses the regex ^[a-zA-Z0-9.,()-]*$
to ensure that the string is made of just alphabets, numbers, period, comma, parenthesis and hyphen.
Rubular link
Most regex libs support the folloing:
/(.)\1{2,}/
where \1
is a a backreference