正则表达式的开头和结尾

时间:2011-02-27 12:25:41

标签: regex

我需要检查字符串是否以数字开头并以数字结尾,即使长度是一个符号。

示例:

"1" => true
"1a1" => true
"1a" => false
"a1" => false

7 个答案:

答案 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)

您可能希望阅读RegEx herehere上的CodeProject文章。