java - 使用正则表达式验证字符串是否以指定字符开头或结尾
问题描述
我需要验证一个输入字符串,以便它只允许在字符串的开头或结尾包含字符“E”、“W”、“N”、“S”(或它们的小写字母)(不是两个都)。字符后跟数字。字符不能在数字之间。此外,如果它出现在开头,那么它就不能在结尾(反之亦然)。
我能够想出这个正则表达式:[wWeEnNsS]{0,1}\\d+
它只检查开头的字符。但是我如何确保如果它出现在开头,那么它不能在结尾?
以下是有效输入的示例:
w234,
W234,
E234,
234w,
234
无效输入:
w234w,
2w34,
ww234,
we234,
w234e,
w
解决方案
推荐阅读
- r - 安装 RQDA 时出错:无法访问存储库 NA/src/contrib 的索引:
- android - 通过将值设置为自身来调用 onDataChange()?火力基地
- rust - 无法在带有字符串的结构上复制,那么我该如何解决这个问题?
- android - Android导航 - 隐藏加载/启动屏幕的操作栏?
- knockout.js - 从子更改触发父 ViewModel 事件
- ios - 为什么snapshot.value作为字典返回nil?
- python - 在模块中导入整个文件
- python - 在递归函数中修改集合?
- javascript - 从 IndexedDB 获取数据
- javascript - Javascript sendBeacon 同时发送重复的 GET 和 POST