我想识别两种字符串:一种通过正则表达式以数字结尾(或不以数字结尾)。
但我不能用\d+$
or^\D*\d*$
或 or对它们进行分类^[a-zA-Z]*[0-9]*$
谁能告诉我为什么?以及如何解决这个问题..?
我想识别两种字符串:一种通过正则表达式以数字结尾(或不以数字结尾)。
但我不能用\d+$
or^\D*\d*$
或 or对它们进行分类^[a-zA-Z]*[0-9]*$
谁能告诉我为什么?以及如何解决这个问题..?
\d+$
\d$
如果您使用正则表达式引擎的search
方法(而不是match
在某些情况下需要整个字符串匹配的方法),它确实应该有效(正如 minopret 在他的评论中指出的那样)。
但是,两者^\D*\d*$
和^[a-zA-Z]*[0-9]*$
都不适合此任务,因为在这两者中,尾随数字是可选的(*
允许零重复, +
至少需要一个)。
首先,您的答案很不完整,因此很难回答。您的评论也没有澄清任何事情。
我猜:
使用您的两个表达式^\D*\d*$
and ^[a-zA-Z]*[0-9]*$
,您无法验证您要查找的内容,因为量词*
也匹配 0 次出现 ==> 它匹配空字符串。
因此,^\D*\d*$
将匹配任何开头有非数字的字符串,或空字符串,后跟数字或空字符串直到结尾。
意思是,这个表达式会匹配。
但不是