java - Regular expression - allow space and any number of digits -
my valid string should either "1234" or " 1234"
allow one or 0 space @ beginning
then followed number of digits only
so should regular expression ?
you can use this:
^ ?\d+$ which easier read this:
^[ ]?\d+$ see demo.
to test if have match, can (for instance):
if (subjectstring.matches("[ ]?\\d+")) { // matched! } else { // nah, didn't match... } here don't need ^ , $ anchors, because matches method looks exact match.
explanation
- the
^anchor asserts @ beginning of string. depending on method used, these anchors may not needed. [ ]?matches 0 or 1 space. brackets not needed, make easier read. can remove them. do not use\sthere matches newlines , tabs.\d+matches 1 or more digits- the
$anchor asserts @ end of string
Comments
Post a Comment