Here is my regex for testing address:
^((([\u0600-\u06FF])+\s?([0-9()،,-]?)+\s?))+$
but when address contains /
or \
character, RegexMatchTimeoutException
occurs.
here is sample input:
"تهران - خیابان سهروردی - خیابان 19 شرقی، کوچه 59, پلاک 39525، / طبقه ٣"
The problem with your regex is that it contains nested quantifiers that quantify optional patterns.
Use linear logic:
See the regex demo
Details:
^
- start of string[\u0600-\u06FF]+
- 1 or more symbols from the given Unicode range(?:[\s0-9()،,-]+[\u0600-\u06FF]+)*
- 0+ sequences of:[\s0-9()،,-]+
- 1+ symbols: either whitespace, digits,(
,)
,،
,,
or-
[\u0600-\u06FF]+
- 1 or more symbols from the given Unicode range$
- end of string.