使用正则表达式查找特殊字符时出现问题

时间:2019-06-15 01:50:56

标签: python regex

我正在使用beautifulsoup和硒从页面中收集一些数据。在将数据缩小到所需的字符串之后,它会显示“ First Blood○○○○○○○○○○○”。我的目标是确定填充点的位置(如果我们从0开始计数,在这种情况下为5)。

我首先尝试使用以下命令删除所有非特殊字符:

test = re.sub(r'[a-z]+', '', collectStatistics[5], re.I)

哪个给了我'F B○○○○○○○○○○○',所以我猜F B也是特殊字符。我不知道如何编写正则表达式来检测实心圆,因此任何建议都将不胜感激。

预先感谢:)

2 个答案:

答案 0 :(得分:0)

我认为正则表达式(注册表?)在这里过大。

首先,切掉填充点后的所有内容:

line = line.split('●')[0] # Split on filled dots, then take only the first part

现在,计算空点:

result = line.count('○') # Count occurrences

答案 1 :(得分:0)

之所以找到luaopen_ssl_coreF是因为您的正则表达式会找到小写字母。如果要查找所有字母,请将正则表达式更改为B

[a-zA-Z]+

输出:

import re
collectStatistics = "First Blood○○○○○●○○○○"
test = re.sub(r'[a-zA-Z]+', '', collectStatistics,re.I)
print (test)