Python regex to match a specific word

后端 未结 3 709
感情败类
感情败类 2020-12-30 05:32

I want to match all lines in a test report, which contain words \'Not Ok\'. Example line of text :

\'Test result 1: Not Ok -31.08\'

I tried

相关标签:
3条回答
  • 2020-12-30 06:20

    Absolutely no need to use RegEx in this case! Just use:

    s = 'Test result 1: Not Ok -31.08'
    if s.find('Not Ok') > 0 : 
        print("Found!")
    

    or as already mentioned:

    if 'Not Ok' in s:
        print("Found!")
    
    0 讨论(0)
  • 2020-12-30 06:28

    You could simply use,

    if <keyword> in str:
        print('Found keyword')
    

    Example:

    if 'Not Ok' in input_string:
        print('Found string')
    
    0 讨论(0)
  • 2020-12-30 06:34

    You should use re.search here not re.match.

    From the docs on re.match:

    If you want to locate a match anywhere in string, use search() instead.

    If you're looking for the exact word 'Not Ok' then use \b word boundaries, otherwise if you're only looking for a substring 'Not Ok' then use simple : if 'Not Ok' in string.

    >>> strs = 'Test result 1: Not Ok -31.08'
    >>> re.search(r'\bNot Ok\b',strs).group(0)
    'Not Ok'
    >>> match = re.search(r'\bNot Ok\b',strs)
    >>> if match:
    ...     print "Found"
    ... else:
    ...     print "Not Found"
    ...     
    Found
    
    0 讨论(0)
提交回复
热议问题