我需要检查字符串是否以数字开头并以数字结尾,即使长度是一个符号。
示例:
"1" => true
"1a1" => true
"1a" => false
"a1" => false
答案 0 :(得分:4)
这应该有效:
^[0-9](.*[0-9])?$
答案 1 :(得分:2)
尝试类似:
^[0-9].*?[0-9]$ | ^[0-9]+$
第一部分匹配数字数字,第二部分
答案 2 :(得分:1)
如果您使用的是perl,则可以使用lookbehind断言
^[0-9].*(?<=[0-9])$
如果您需要使用标准正则表达式,您可以使用:
^[0-9](.*[0-9])?$
有关外观的详细信息,请参阅here
答案 3 :(得分:1)
也许这对你有用:
^\d[^&]*\d$
答案 4 :(得分:0)
如果你想检查你只有一个数字,那么这样的事情应该有效:
^[0-9]$
编辑:既然你已经编辑了你的帖子,这里有一个新命题:
^([0-9].*)?[0-9]$
答案 5 :(得分:0)
^\d.*\d$|^\d$
假设^
和$
表示正则表达式方言中字符串的开头和结尾。否则,请使用\A
和\Z
或正则表达式用于字符串开头和结尾的任何内容。
或者在像java match
这样的情况下,默认情况下regexen是固定的,你可以使用\d.*\d|\d
。
答案 6 :(得分:0)