如何修改正则表达式以支持含连字符的血压值格式匹配?
血压值正则表达式解决方案
你可以把原有正则修改为:
^(\d{1,3}|-)\/(\d{1,3}|-)$
关键修改说明
- 将原本仅匹配数字的
\d{1,3}替换为(\d{1,3}|-),表示每一侧可以是1-3位数字或者单个连字符- - 保留开头的
^和结尾的$,确保整个字符串就是完整的血压值,不会匹配包含额外字符的内容
扩展优化(可选)
如果需要排除「-/」这种两边都为空的无效情况,可以添加负向前瞻来限制:
^(?!-/-)(\d{1,3}|-)\/(\d{1,3}|-)$
这里的(?!-/-)会提前检查整个字符串是否是-/,如果是则直接不匹配。
匹配示例
- 有效匹配:
145/80、-/80、145/-、90/60、-/100 - 无效匹配(优化版):
-/、1450/80(超过3位数字)、14/8a(含额外字符)
内容的提问来源于stack exchange,提问作者Ian Olson
相关产品推荐
相关产品推荐

