我需要一个正则表达式,它可以解决以下任务: - 输入 - 从 a 到 j 的单个字符和从 1 到 10(含)的字符后的单个数字
正确:a1
、a2
、f3
、b7
、c10
< br/>
错误:a11
、b0
、abv
、a34
、h11
、 1c
我试过这些:^[a-j]{1}[0-9|10]{1,2}$
^[a-j]{1}[0-9 ]{2}$
提前致谢!
最佳答案
应该这样做。
"^[a-j]([1-9]|10)$"
第一个括号匹配单个字母,然后有一个替代项,它是单个数字或数字 10。
^[a-j]{1}[0-9|10]{1,2}$
{1}
是多余的。 [0-9|10]
表示:任何字符 0、1、... 9 或 |
,因为 []
的作用类似于一个集合表达式,用 - 表示范围。此外,您将允许将这个单个字符写入一次或两次,这将匹配 a11、a12、...j99 等。
^[a-j]{1}[0-9]{2}$
更好,但允许字母后的任意两位数字。
关于Java正则表达式查找单个字符序列和数字序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30955151/