我想识别两种字符串:一种通过正则表达式以数字结尾(或不以数字结尾)。
但我不能用\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*$将匹配任何开头有非数字的字符串,或空字符串,后跟数字或空字符串直到结尾。
意思是,这个表达式会匹配。
但不是