次の形式の文字列があります。
str ="India,USA,Australia,Japan,Russia"
Pythonで正規表現を使用してコンマの数を数え、3番目のコンマの後に存在する単語を抽出したいと考えています。
望ましい出力:Japan
次の形式の文字列があります。
str ="India,USA,Australia,Japan,Russia"
Pythonで正規表現を使用してコンマの数を数え、3番目のコンマの後に存在する単語を抽出したいと考えています。
望ましい出力:Japan
次のような正規表現でそれを行うことができます
([^,]*,){3}([^,]*)
意味を込めて
[^,]*
0 文字以上、コンマなし,
コンマ{3}
前のグループを 3 回繰り返す必要があります[^,]*
0 文字以上、コンマなし2 番目のグループは 4 番目のコンマ区切り値になります
import re
text = "India,USA,Australia,Japan,Russia"
m = re.match("([^,]*,){3}([^,]*)", text)
if m:
print m.group(2)
ただし、この特定のケースでは、コンマで分割して 4 番目の値を取得する方がはるかに簡単です。
print text.split(',')[3]