因为re.search函数里‘str1’表示的是字符串str1,而不是你上面定义的字符串变量str1,改为re.search(r'\d+',str1)就可以了。
pattern 模式,我们定义的规则字符串
全新的,因为字符串是不可变的对象
用字符串操作,关键字切割试一下
先把赋值给规范下:
定义一个字符串,单引号‘ ’和双引号“ ”分别成双成对出现。既可以用str1=‘hfajfliagja’,也可以str1=“1egfnklajfngalijo”,两者意义是一样的。
但,如果你定义的字符串里有特殊需要引用的内容:
用str1=‘fjlakjglka“dfagzsfg”hhfjaklh’ 或
str1=“dfhlkahfaik'jkhgakj'dhfluajhflkajhfkla”
以上两种都是可以的。对于程序来说意义是一样的。就是不能出现你写的‘‘’’,理解不了。
两个问题,一个是需要导入re模块;import re;另外一个是 如果用的是python3的话 print需要加括号,修改成print(m2)
sub返回的是字符串
我猜,打开最新的链接是这样的http://www.imooc.com/course/list?sort=last,如果链接没有参数sort=last的话,慕课网就默认返回的是最热的显示内容吧,毕竟通过最热,可以让用户更好的找到当前热门的自己喜欢的课程吧
int()函数是取整数,x来自info
你试试把输出结果先赋值,再打印输出结果
正则表达式是用来匹配字符串的,字典格式本身就有相当强大的搜索功能了,如果你说是字符串里的字典格式的话,那么按逗号分割,拿出来之后再把他转换成字典格式就行了~
老师在linux系统下的终端下进行的,装了ipython的这个工具,支持好。
执行的时候先用 r'[\d]+' 去匹配 str,然后把匹配结果作为参数,传递给add1。相当于ma = re.search(r'[\d]+',str),然后把 ma 传给 add1