I am using this pattern and matching a string.
String s = "//name:value /name:value";
if (s.matches("(//?\\s*\\w+:\\w+\\s*)+")) {
// it fits
}
This works properly.
But if I want to have a string like "/name-or-address:value/name-or-address:value" which has this ‘-‘ in second part, it doesn’t work.
I am using \w to match A-Za-z_, but how can I include - in that?
Use
[\w-]to combine both\wand-.Note that
-should always be at the beginning or end of a character class, otherwise it will be interpreted as defining a range of characters (for instance,[a-z]is the range of characters fromatoz, whereas[az-]is the three charactersa,z,and-).