我需要验证包含一个数字(数字不能为0或开头为零)的字符串或数字后跟在a-z或A-Z范围内的单个字符。所以,这些都是有效的用于验证数字和字符的正则表达式
2, 12, 1, 324534A, 2Y, 934d
,但这些都是无效
000R, 0, 0D, D3, 23432dddd, 234Q343.
有人能告诉我这样做的正确的正则表达式表达?
我需要验证包含一个数字(数字不能为0或开头为零)的字符串或数字后跟在a-z或A-Z范围内的单个字符。所以,这些都是有效的用于验证数字和字符的正则表达式
2, 12, 1, 324534A, 2Y, 934d
,但这些都是无效
000R, 0, 0D, D3, 23432dddd, 234Q343.
有人能告诉我这样做的正确的正则表达式表达?
这应该匹配。
^[1-9]\d*[a-zA-Z]?$
击穿:
^ - Match start of string
[1-9] - Followed by one digit (1-9), no 0
\d* - Followed by any number of digits (can contain digits from
other cultures). If you want to constain use [0-9] instead of \d
[a-zA-Z]? - Followed by either one character or none
$ - Followed by end of string
@ t3hn00b - 正确。正在更新,因为你正在评论。不清楚字符串中是否允许有'0',但看起来像是。 – Oded
感谢Oded的格式整理。 –
顺便说一句 - 我建议学习正则表达式 - 它是一个有用的工具。掌握正则表达式是关于这个问题的最好的书。 – Oded
只要我读完了EF上的这本书,我就会看看Regex。 –