私は自分のコードでPython正規表現(re
モジュール)を使用していますが、これらの場合の動作が異なることに気づきました。
re.findall(r'\s*(?:[a-z]\))?[^.)]+', 'a) xyz. b) abc.') # non-capturing group
# results in ['a) xyz', ' b) abc']
と
re.findall(r'\s*(?<=[a-z]\))?[^.)]+', 'a) xyz. b) abc.') # lookbehind
# results in ['a', ' xyz', ' b', ' abc']
私が取得する必要があるのはただ['xyz', 'abc']
です。例の動作が異なるのはなぜですか?また、どのようにして目的の結果を得るのですか?