Python 正则表达式,打印字符串中的所有特殊字符
Python regular expression, print all special character from a string
输入:- "ABCD&EFab^cdef12%3450"
预期输出:- &^%
尝试了什么
import re
pattern=re.compile(r'[^a-zA-Z0-9]+')
print(pattern.search("ABCD&EFab^cdef12%3450"))
实际输出:- 仅打印第一次出现的元字符。
尝试使用 findall 而不是 search
import re
pattern=re.compile(r'[^a-zA-Z0-9]+')
print(pattern.findall("ABCD&EFab^cdef12%3450"))
问题是因为搜索 returns 第一次出现的模式而不是整个模式。
sub 的语法是:
re.sub(模式、repl、字符串、最大值=0)。省略max=0,a pattern为repl替换的pattern,string为文本
print(re.sub(r'[a-zA-Z0-9]',"","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 而不是 search
import re
pattern=re.compile(r'[^a-zA-Z0-9]+')
print(pattern.findall("ABCD&EFab^cdef12%3450"))
问题是因为搜索 returns 第一次出现的模式而不是整个模式。 sub 的语法是: re.sub(模式、repl、字符串、最大值=0)。省略max=0,a pattern为repl替换的pattern,string为文本
print(re.sub(r'[a-zA-Z0-9]',"","ABCD&EFab^cdef12%3450"))