0

我想识别两种字符串:一种通过正则表达式以数字结尾(或不以数字结尾)。

但我不能用\d+$or^\D*\d*$或 or对它们进行分类^[a-zA-Z]*[0-9]*$

谁能告诉我为什么?以及如何解决这个问题..?

4

2 回答 2

0

\d+$\d$如果您使用正则表达式引擎的search方法(而不是match在某些情况下需要整个字符串匹配的方法),它确实应该有效(正如 minopret 在他的评论中指出的那样)。

但是,两者^\D*\d*$^[a-zA-Z]*[0-9]*$都不适合此任务,因为在这两者中,尾随数字是可选的(*允许零重复, +至少需要一个)。

于 2012-06-25T06:13:25.933 回答
0

首先,您的答案很不完整,因此很难回答。您的评论也没有澄清任何事情。

我猜:

使用您的两个表达式^\D*\d*$and ^[a-zA-Z]*[0-9]*$,您无法验证您要查找的内容,因为量词*也匹配 0 次出现 ==> 它匹配空字符串。

因此,^\D*\d*$将匹配任何开头有非数字的字符串,或空字符串,后跟数字或空字符串直到结尾。

意思是,这个表达式会匹配。

  • 空字符串
  • 富吧
  • 美食吧 123
  • 123

但不是

  • 123Fooo

在 Regexr 上查看

于 2012-06-25T06:14:24.637 回答