我正在尝试提出一个正则表达式来帮助我验证血型字段 - 它应该只接受A [+ - ],B [+ - ],AB [+ - ]和O [+ - ].
这是我提出的正则表达式(并使用Regex Tester测试):
[A|B|AB|O][\+|\-]
Run Code Online (Sandbox Code Playgroud)
现在这个模式成功匹配A,B,O [+ - ]但是对AB [+ - ]失败.
任何人都可以建议一个符合我目的的正则表达式吗?
谢谢,m ^ e
Pao*_*ino 17
尝试:
(A|B|AB|O)[+-]
Run Code Online (Sandbox Code Playgroud)
使用方括号定义一个字符类,它只能是一个字符.括号创建一个分组,允许它做你想要的.你也不需要+-在字符类中转义它,因为它们里面没有它们的regexy含义.
正如您在评论中提到的,如果它是您要匹配的字符串,并且具有您要查找的确切值,则可能需要执行以下操作:
^(A|B|AB|O)[+-]$
Run Code Online (Sandbox Code Playgroud)
如果没有字符串的开头和字符串锚点的结尾, "helloAB + asdads"之类的东西就会匹配.
| 归档时间: |
|
| 查看次数: |
4768 次 |
| 最近记录: |