你如何完成以下正则表达式

时间:2018-02-22 22:10:04

标签: regex

我正在寻找一个接受以下内容的正则表达式:大写字母A后跟任意数字的数字。这也可能是十进制数。所有这些都是有效的:A1,A500,A543.987

这不可以接受:Apple,AE100

目前我有[A]\w.[0-9]*但接受AppAE100

2 个答案:

答案 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 +)?是一个。后跟一个或多个数字。但是?指定它是可选的。