如何使用python中的正则表达式计算字符串中的逗号数?

时间:2013-09-28 10:16:46

标签: regex python-3.x

我有一个以下格式的字符串:

str ="India,USA,Australia,Japan,Russia"

我想通过在python中使用正则表达式计算逗号的数量来提取第三个逗号之后的单词。

所需的输出:Japan

1 个答案:

答案 0 :(得分:4)

您可以使用类似

的正则表达式来完成此操作
([^,]*,){3}([^,]*)

含义

  • [^,]*零个或多个字符,但没有逗号
  • ,逗号
  • {3}前一组必须重复三次
  • [^,]*零个或多个字符,但没有逗号

第二组将是四个以逗号分隔的值

import re
text = "India,USA,Australia,Japan,Russia"
m = re.match("([^,]*,){3}([^,]*)", text)
if m:
    print m.group(2)

在这个特定的情况下,只用逗号分割并取第四个值会简单得多:

print text.split(',')[3]