我有一个5个字符的字符串,其中前两个字符应该在某个列表中,接下来的三个字符应该在其他列表中。
我怎样才能用正则表达式验证它们?
示例:
前两个字符的列表{VBNET, CSNET, HTML)}
下三个字符的列表{BEGINNER, EXPERT, MEDIUM}
我的字符串将是:VBBEG
,CSBEG
等
我的正则表达式应该发现输入字符串前两个字符可以是VB,CS,HT,其余字符也应该是这样。
答案 0 :(得分:1)
类似于this:
^(VB|CS|HT)(BEG|EXP|MED)$
答案 1 :(得分:1)
这个食谱对我有用:
^(VB|CS|HT)(BEG|EXP|MED)$
答案 2 :(得分:1)
在更一般的情况下,以下表达式是否适合您(以便您没有硬编码值):(^..)(.*$)
- 返回第一组中的前两个字母,以及第二组中的其余字母。
答案 3 :(得分:0)
我猜(VB|CS|HT)(BEG|EXP|MED)
应该这样做。
答案 4 :(得分:0)
如果你的字符串定义如此,你甚至不需要正则表达式 - 简单的字符串切片就可以了。
例如,在Python中我们可以说:
mystring = "HTEXP"
prefix = mystring[0:2]
suffix = mystring[2:5]
if (prefix in ['HT','CS','VB']) AND (suffix in ['BEG','MED','EXP']):
pass # valid!
else:
pass # not valid. :(
不要在基本字符串操作的情况下使用正则表达式。