输入:-“ABCD&EFab^cdef12%3450”
预期输出:- &^%
尝试了什么
import re
pattern=re.compile(r'[^a-zA-Z0-9]+')
print(pattern.search("ABCD&EFab^cdef12%3450"))
实际输出:- 仅打印第一次出现的元字符。
输入:-“ABCD&EFab^cdef12%3450”
预期输出:- &^%
尝试了什么
import re
pattern=re.compile(r'[^a-zA-Z0-9]+')
print(pattern.search("ABCD&EFab^cdef12%3450"))
实际输出:- 仅打印第一次出现的元字符。
尝试 findall 而不是搜索
import re
pattern=re.compile(r'[^a-zA-Z0-9]+')
print(pattern.findall("ABCD&EFab^cdef12%3450"))
问题是由于搜索返回模式的第一次出现而不是全部。sub 的语法是:re.sub(pattern, repl, string, max=0)。省略 max=0,模式是要替换为 repl 的模式,字符串是文本。
print(re.sub(r'[a-zA-Z0-9]',"","ABCD&EFab^cdef12%3450"))