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