使用正则表达式从字符串中作为字符串的一部分

时间:2012-04-17 06:30:49

标签: regex vb.net

我有一个5个字符的字符串,其中前两个字符应该在某个列表中,接下来的三个字符应该在其他列表中。

我怎样才能用正则表达式验证它们?

示例:

  • 前两个字符的列表{VBNET, CSNET, HTML)}

  • 下三个字符的列表{BEGINNER, EXPERT, MEDIUM}

我的字符串将是:VBBEGCSBEG

我的正则表达式应该发现输入字符串前两个字符可以是VB,CS,HT,其余字符也应该是这样。

5 个答案:

答案 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. :(

不要在基本字符串操作的情况下使用正则表达式。