0

问题是如何用正则表达式实现条件。我们有这个:

regex = '"Tom":{"c":(.+?),"b":(.+?),"a":(.+?)}|"Tom":{"a":(.+?),"c":(.+?),"b":(.+?)}'

我们希望根据将找到的正则表达式对正则表达式做不同的事情。我们如何遇到这种情况?我们如何使用 if 语句访问它?

说:if regex[0]: print 'Hi' else: print 'Hello'基本上,我只是不知道如何问python找到并使用了哪个正则表达式。

我的意思是语法是什么?

4

1 回答 1

2

您应该能够使用命名正则表达式http://docs.python.org/2/library/re.html做您想做的事

regex = '(?P<first>"Tom":{"c":(.+?),"b":(.+?),"a":(.+?)})|(?P<second>"Tom":{"a":(.+?),"c":(.+?),"b":(.+?)})'
# Careful as this raises an exception if no match was found
m = re.search( regex, somestring ).groupdict()
if m['first']:
    print 'First'
else:
    print 'Second'
于 2013-03-09T14:28:10.417 回答