我只想得到 ['bar'] 在这里:
['bar']
>>> re.findall(r"(?<!\bdef )([a-zA-Z0-9.]+?)\(", "def foo(): bar()") ['oo', 'bar']
这在一个正则表达式中是可能的吗?如果没有,我会先用这个: re.sub(r"\bdef [a-zA-Z0-9.]+", "", "def foo(): bar()")
re.sub(r"\bdef [a-zA-Z0-9.]+", "", "def foo(): bar()")
oo foo oo( "def "
oo
foo
oo(
"def "
\b r"\b(?<!\bdef )([a-zA-Z0-9.]+?)\("
\b
r"\b(?<!\bdef )([a-zA-Z0-9.]+?)\("
[a-zA-Z_][a-zA-Z0-9_]
re.findall(r'\b(?<!\bdef\s)([a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*)\(', s, re.A)
re.A or re.ASCII \w _
re.A
re.ASCII
\w
_
regex demo
(?<!\bdef\s)
def
([a-zA-Z_]\w*(?:\.[a-zA-Z_]\w*)*)
re.findall
[a-zA-Z_]
\w*
(?:
\.
)*
\(
(