Check if string contains only Unicode values [\u0030-\u0039] or [\u0660-\u0669]

Faiz Kidwai :

I need to check, in java, if a string is composed only of Unicode values [\u0030-\u0039] or [\u0660-\u0669]. What is the most efficient way of doing this?

Predicate :

Use \x for unicode characters:

^([\x{0030}-\x{0039}\x{0660}-\x{0669}]+)$

if the patternt should match an empty string too, use * instead of +

Use this if you dont want to allows mixing characters from both sets you provided:

^([\x{0030}-\x{0039}]+|[\x{0660}-\x{0669}]+)$

https://regex101.com/r/xqWL4q/6

As mentioned by Holger in comments below. \x{0030}-\x{0039} is equivalent with [0-9]. So could be substituted and would be more readable.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=193487&siteId=1