Python中的正则表达式可以找到确切的字符串

时间:2018-01-15 06:53:29

标签: python regex

刚开始使用python并遇到了查找和匹配问题。 代码如下

for line in f:
        if c in line:
            catch = line.split(' ', 1)[1]
            return catch
    f.close()

所以如果我的行有" TRA trace"当我输入TR时,它返回TRA的值而不是TR。在if条件中是否可以执行任何操作以确定输入字符串。谢谢。

3 个答案:

答案 0 :(得分:1)

你可以这样做:

for line in f:
    catch = line.split(' ', 1)
    if c in catch:  # checks if one of the tokens is c
        return catch
    # Or 
    if c == catch[0]:  # checks if the first token is c
        return catch

答案 1 :(得分:0)

对于正则表达式,你可以这样做。

import re
m=re.search('('+c+')',line)
if m.groups()
    return m.group(1)

答案 2 :(得分:0)

您可以使用正则表达式匹配确切的输入字符串
EX:

import re

def checkStr(word, line):
    result = re.search(r'\b'+ word + r'\b', line)
    if result:
        print "Found!"
        print result.group()
    else:
        print "No Match!!!"

word = 'TR'
line = "TRA trace"
checkStr(word, line)  #No Match!!!

word = 'TR'
line = "TR trace"
checkStr(word, line)  #Found! TR