Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想要此类输入的正则表达式。
1 1a 1b 1c 1d 2 2a 2b 2c
但是,如果我写以下输入,那么它不应该允许。
a b c
字符串必须以 1 或 2 开头(仅一次且强制),然后是 a 到 z 之间的任何字符(仅一次)
所以总字符串长度只有 2
第一个字母总是 1 或 2(第一个字母是强制性的) 第二个字母是 a 到 z(非强制性)
我试过了,[1-2]?[a-zA-Z]?但它允许我输入以任何字符开头的字符串..
[1-2]?[a-zA-Z]?
我想要这个 C#.Net 的正则表达式
您需要锚定正则表达式 - 您需要指定它们需要位于字符串的开头。
您还需要指定 1 或 2必须存在。有几种方法可以做到这一点,我选择了交替(1|2),认为字符类是另一种选择([12])。
(1|2)
[12]
您可以通过以下方式启动正则表达式^:
^
^(1|2)[a-zA-Z]?
所以,上面将匹配
这会做到的 ^(1|2)[a-zA-Z]?$
^(1|2)[a-zA-Z]?$