使用正则表达式获取具有特殊字符的字符串

时间:2019-01-29 10:08:15

标签: python regex

import re 
strg = "what is AM&I"
z= re.sub(r'&', '', strg)
# pattern = r'(?:[A-Z]\.)+'
# pattern = r'\b(?:[A-Z][a-z]*){2,}'
regex = re.compile('[@_!#$%^&*()<>?/\|}{~:]')
print regex
print regex.search(strg)

我需要将输出作为AM&I

1 个答案:

答案 0 :(得分:2)

此正则表达式

regex = re.compile(r'(\S*[@_!#$%^&*()<>?/\|}{~:]\S*)')

将查找包含至少一个您要查找的特殊字符的“单词”(表示非空字符的字符串)。

>>> strg = "what is AM&I"
>>> m=regex.search(strg)
>>> m.group(1)
'AM&I'

尽管仅举一个例子,但很可能无法匹配您要查找的其他内容(误报)或返回您不是真正想要的内容(误报)。