[lang-ref] ( regexp_find_first ) ( python )

def test_regexp_find_first():
    # search(pattern, text)
    text    = 'abcdef abcdef abcdef'
    pattern = r'd.f'

    m = re.search(pattern, text)
    assert m.group(0) == 'def'
    assert m[0] == 'def'
def test_regexp_find_first_alternative1():
    # RegexpObject - faster on reuse
    text    = 'abcdef abcdef abcdef'
    pattern = r'd.f'

    r = re.compile(pattern)

    m = r.search(text)
    assert m[0] == 'def'
def test_regexp_find_first_alternative2():
    text = 'abcdef abcdef abcdef'

    # match : search from beginning of line
    m = re.match('d.f', text)
    assert m is None

    m = re.match('abc', text)
    assert m.group(0) == 'abc'
    assert m[0] == 'abc'

    # this is same as re.search('^' + pattern, text) ..
    m = re.search('^d.f', text)
    assert m is None

    m = re.search('^abc', text)
    assert m.group(0) == 'abc'
    assert m[0] == 'abc'

    # so, I make it a rule not to use 'match()'