import re
s = " afd [asd] 12 [a34] [ -43 ]tt [+12]xxx"
nums = [int(s) for s in re.findall(r'[^\w]\d+', s)]
print(nums)
----
import re
def integers_in_brackets(s):
nums = [int(s) for s in re.findall(r'[^\w]\d+', s)]
print(nums)
def main():
print(integers_in_brackets(" afd [asd] [12 ] [a34] [ -43 ]tt [+12]xxx"))
if __name__ == "__main__":
main()
Why this causes "ValueError: invalid literal for int() with base 10: '[12'" when I divide it to 2 functions?