有的时候需要匹配字符串里的一些特定符号,比如匹配字符串中有没有感叹号、问好来评价原文的情感倾向
整理了以下各个标点符号的表达式:
符号 | 表达式 |
---|---|
。 | \u3002 |
; | \uff1b |
, | \uff0c |
: | \uff1a |
“ | \u201c |
” | \u201d |
( | \uff08 |
) | \uff09 |
、 | \u3001 |
? | \uff1f |
! | \uff01 |
《 | \u300a |
》 | \u300b |
其余的符号匹配表达式可见:这里
import re
# 匹配字符串中的英文字母
def checkletter(str):
my_re = re.compile(r'[A-Za-z]', re.S)
res = re.findall(my_re, str)
if len(res):
return len(res)
else:
return 0
# 汉字表达式:[\u4e00-\u9fa5]
# 拼音表达式:[Aa-zZāáǎàōóǒòēéěèīíǐìūúǔùüǖǘǚǜńňǹḿmɡ]*
# 字符表达式:[a-zA-Z0-9_]
# 包含中英文标点符号和其他特殊符号的表达式:[\W]
# 匹配汉字以及那些标点符号
my_re3 = re.compile(r"[\u4e00-\u9fa5-\,\。\?\!\| \… \. \: \( \) \、 \~ \【 \】 \· \「 \」 \— \/ \{ \} ]", re.S)
res3 = re.findall(my_re3, str)
# 另一种在字符串里找字符串的方式
find1 = str1
subject1 = str2.find(find1)