我正在尝试找到正确的正则表达式来检查以下内容:
选项1:整数(例如100,200,1,0,15,300000)
选项2:N / A(匹配案例)
我试过“^ \ d + $ |(N / A)”,但我需要一个异或条件(只有一个选项是可能的,现在我匹配案例“100 N / A”):
答案 0 :(得分:2)
您应该对交替运算符使用外部分组:
^(\d+|N/A)$
如果需要/
正则表达式分隔符,则/
可能需要在代码中转义(如在Ruby或JS正则表达式文字中)。您还可以使用非捕获组仅对备选项进行分组,而不将数据捕获到子组中:^(?:\d+|N/A)$
。
请参阅regex demo
<强>详情
^
- 字符串开头(
- 分组构造的开始(以便围绕它的^
和$
锚可以应用于所有替代方案):
\d+
- 1+位数|
- 或N/A
- N/A
子字符串)
- 分组构造的结尾$
- 字符串结束。