【发布时间】:2019-06-19 07:04:14
【问题描述】:
我需要验证输入字符串,以便它只允许在开头或结尾包含字符“E”、“W”、“N”、“S”(或其对应的小写字母)字符串(不是两者)。字符后跟数字。字符不能在数字之间。此外,如果它出现在开头,则它不能在结尾(反之亦然)。
我想出了这个正则表达式:[wWeEnNsS]{0,1}\\d+,它只检查开头的字符。但是我如何确保如果它出现在开头,那么它不能在结尾?
以下是有效输入的示例:
w234,
W234,
E234,
234w,
234
无效输入:
w234w,
2w34,
ww234,
we234,
w234e,
w
【问题讨论】:
-
您必须使用 1 个正则表达式还是可以组合使用?
-
我认为
^(??$)(?!.*\d[wWeEnNsS]\d)(?!.*[wWeEnNsS][^0-9]).+会为你工作。见demo。
标签: java regex validation