我正在寻找一个接受以下内容的正则表达式:大写字母A后跟任意数字的数字。这也可能是十进制数。所有这些都是有效的:A1,A500,A543.987
这不可以接受:Apple,AE100
目前我有[A]\w.[0-9]*
但接受App
和AE100
。
答案 0 :(得分:6)
如果整个字符串匹配,您可以使用以下正则表达式:
^A[0-9]+(?:\.[0-9]+)?$
或者,将这些字符串作为整个单词匹配:
\bA[0-9]+(?:\.[0-9]+)?\b
请参阅regex demo。
<强>详情
^
- 字符串/ \b
的开头 - 字边界A
- A
[0-9]+
- 1+位数(?:\.[0-9]+)?
- .
然后1+位数$
- 字符串结尾/ \b
- 字边界。答案 1 :(得分:4)
我会建议“A \ d +(\。\ d +)?”。 \ d表示所有数字,+是一个或多个字符和(\。\ d +)?是一个。后跟一个或多个数字。但是?指定它是可选的。