python - 解析字符串模式 - Python

标签 python regex string parsing

我有一个以下模式的字符串模式(用于 xml 测试报告程序):

'testsets.testcases.[testset].[testcase]-[date-stamp]'

例如:

a='testsets.testcases.test_different_blob_sizes.TestDifferentBlobSizes-20150430130436'

我知道我总是可以通过以下方式解析 testsettestcase 名称:

temp = a.split("-")[0]
current = temp.split(".")
testset = '.'.join(current[:-1]) + ".py"
testcase = current[-1]

但是,我想使用更像 pythonic 的方式来完成此操作,例如 regex 或我会在一行中完成的任何其他表达式。我怎样才能做到这一点?

最佳答案

你可以试试:

testset, testcase = re.search('(.*)\.(.*)-.*', a).group(1, 2)
testset += '.py'

re.search返回 MatchObject在火柴上,它有一个 group我们可以用来为正则表达式提取匹配组的方法(正则表达式中的“()”)。

关于python - 解析字符串模式 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30331050/

相关文章:

Python - 如何检查 Redis 服务器是否可用

python - 当顺序很重要时如何从元组列表中删除重复项

python - 字符串的绘图函数在 0 时无法正确计算

javascript - 解析 window.location.pathname 并返回 number of/s 的正则表达式

c++ - 在 C++ 中计算非常大的数字

python - Concat string if 条件,否则什么都不做

java - 正则表达式 Java,为什么这个正则表达式这么慢?

javascript - Jquery if 条件,如果字符串格式不正确,将调用警报

c - 字符串比 C 语言中预期的要长

symfony - 使用 $session->getId() 获取 session ID 在 Symfony2 中返回空结果