1

私は5文字の文字列を持っており、そのうち最初の2文字はあるリストにあり、次の3文字は別のリストにあるはずです。

正規表現でそれらを検証するにはどうすればよいですか?

例:

  • 最初の2文字のリスト{VBNET, CSNET, HTML)}

  • 次の3文字のリスト{BEGINNER, EXPERT, MEDIUM}

私の文字列は次のようになります:、、VBBEGなどCSBEG

私の正規表現では、入力文字列の最初の2文字はVB、CS、HTのいずれかであり、残りもそのようになっている必要があります。

4

5 に答える 5

1

このようなもの:

^(VB|CS|HT)(BEG|EXP|MED)$
于 2012-04-17T06:35:06.343 に答える
1

次の式は、より一般的なケースで機能しますか (ハードコーディングされた値がないように): (^..)(.*$) - 最初のグループの最初の 2 文字と、2 番目のグループの残りの文字を返します。

于 2012-04-17T06:47:29.003 に答える
1

このレシピは私のために働きます:

^(VB|CS|HT)(BEG|EXP|MED)$
于 2012-04-17T06:35:25.473 に答える
0

やるべきだと思い(VB|CS|HT)(BEG|EXP|MED)ます。

于 2012-04-17T06:35:07.453 に答える
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. :(

基本的な文字列操作で行う正規表現を使用しないでください。

于 2012-04-17T07:07:08.740 に答える