javascript - 关于python,正则表达式作为if判断条件的问题
https://www.coursera.org/course/inforisk
https://www.coursera.org/specializations/cloudcomputing
https://www.coursera.org/learn/python-data
需要在python中写一个正则表达式在作为if条件语句的判断条件,关键词为“/course/” "/specializations/"以及 “/learn/”三个条件,结构如下
if 一行链接 匹配/course/:
'''
elif 一行链接匹配/specializations/:
'''
else 一行链接匹配 /learn/:
'''
初学python,看了一段正则的教学也没有太理解,求大神写一段可以作为判断条件的匹配,再能推荐些正则的学习资料就更好了!thx!
回复内容:
有2000行链接需要进行爬虫处理,可分为以下三种类型,字体加粗。
https://www.coursera.org/course/inforisk
https://www.coursera.org/specializations/cloudcomputing
https://www.coursera.org/learn/python-data
需要在python中写一个正则表达式在作为if条件语句的判断条件,关键词为“/course/” "/specializations/"以及 “/learn/”三个条件,结构如下
if 一行链接 匹配/course/:
'''
elif 一行链接匹配/specializations/:
'''
else 一行链接匹配 /learn/:
'''
初学python,看了一段正则的教学也没有太理解,求大神写一段可以作为判断条件的匹配,再能推荐些正则的学习资料就更好了!thx!
仅仅检查是否含有用in就可以了吧?
def check_url(word, url):
return word in url
for u in urls:
if check_url('/course/', u):
do something
elif check_url('/specializations/', u):
do something
elif check_url('/learn/', u):
do something
import re
raw = '''
https://www.coursera.org/course/inforisk
https://www.coursera.org/specializations/cloudcomputing
https://www.coursera.org/learn/python-data'''
check_func = lambda url, key: re.search('^https://www.coursera.org/%s/.+' % key, url)
for url in raw.split('\n'):
if check_func(url, 'course'):
print 'I m course'
elif check_func(url, 'specializations'):
print 'I m specializations'
elif check_func(url, 'learn'):
print 'I m learn'
这里用到了正则.+
,其中.
是指任意字符,+
代表一个以上的字符,.+
就是匹配一个以上的任意字符。
Python中re
模块是正则相关的模块,这里用到了re.search
,如果匹配字符串成功,会返回一个对象,否则返回None
re模块还有其他函数,例如re.findall
,re.match
,re.replace
等
直接用in是不可以的,例如如果url是https://www.coursera.org/course/specializations,就会导致specializations和course都能匹配到。
希望可以帮到你。
上一篇: 从0自学PHP-2013-10-10
推荐阅读
-
php-多个逻辑或运算符和比较运算符一起使用共同作为条件判断的问题
-
。还得接着。关于PHP中怎么把数组作为sql查询语句的条件,小弟我的代码有有关问题
-
关于 python gevent 架框 作为 TCP服务器 的 代码问题 , 每个 socket 的 消息 接收 是否有使用 事件监听回调的方法呢?
-
javascript - 关于正则表达式的一个问题
-
PHP关于条件判断的问题
-
javascript - 关于python,正则表达式作为if判断条件的问题
-
javascript - 关于python,正则表达式作为if判断条件的问题
-
PHP关于条件判断的问题
-
php-多个逻辑或运算符和比较运算符一起使用共同作为条件判断的问题
-
关于 python gevent 架框 作为 TCP服务器 的 代码问题 , 每个 socket 的 消息 接收 是否有使用 事件监听回调的方法呢?