. :匹配任意单个字符
[] :匹配指定范围内的任意单个字符;
[^]:匹配制定范围外任意单个字符 [:digit:] lower upper alpha alnum space
匹配次数:用在要指定其出现的次数的字符后面,用于限制其前面字符出现的次数
*:匹配其在前面的字符任意次:0,1.多次
.*:匹配任意长度的任意字符
\?:匹配其前面字符0次或一次,及前面字符是可有可无
\+:匹配其前面字符一次或是多次,至少一次,
\{m\}匹配前面字符m次
\{m.n\}匹配其前面的字符至少m次,之多n次
\{0,n\}:之多n次
\{m,\} :至少m次
位置锚定:
^:行首锚定:用于模式的最左侧
$:行尾锚定:用于模式的最右侧
^PATTERN:用于PATTERN
^$:空白行
^[[:space:]]:空行或包含空白字符的行
单词:非特殊字符组成的连续字符(字符串)都成为单词
\
\>或是\b:词尾锚定,用于单词模式的右侧
\:匹配完整单词
以上所述是小编给大家介绍的Linux中基本正则表达式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
一般情况下可以这样匹配中文,如图:&ampltimg src="https://pic4.zhimg.com/50/edcbd2faf1a916675cec852bd886e599_hd.jpg" data-rawwidth="827" data-rawheight="600" class="origin_image zh-lightbox-thumb" width="827" data-original="https://pic4.zhimg.com/edcbd2faf1a916675cec852bd886e599_r.jpg"&ampgt
先用靓汤或正则找到这个节点,再用上面的字符组匹配。
假设这个节点只有一个,用法如下:
import reimport requests as reqfrom bs4 import BeautifulSoupurl = 'xxx'html = req.get(url).textbs = BeautifulSoup(html)span = bs.find_all('span', 'pro-title')'''span = re.findall('<span\sclass="pro-title">[^<]+</span>', html)s = span[0]m = re.findall('[\u4e00-\u9fa5]+', s)'''s = str(span)m = re.findall('[\u4e00-\u9fa5]+', s)print(m)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)