• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

javascript – 关于python,正则表达式作为if判断条件的问题

php 搞代码 3年前 (2022-01-25) 15次浏览 已收录 0个评论
文章目录[隐藏]

有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/:

<code>'''</code>

elif 一行链接匹配/specializations/:

<code>'''</code>

else 一行链接匹配 /learn/:

<code>'''</code>

初学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/:

<code>'''</code>

elif 一行链接匹配/specializations/:

<code>'''</code>

else 一行链接匹配 /learn/:

<code>'''</code>

初学python,看了一段正则的教学也没有太理解,求大神写一段可以作为判断条件的匹配,再能推荐些正则的学习资料就更好了!thx!

仅仅检查是否含有用in就可以了吧?

<code>def check_url(word, url):    return word in urlfor u in urls:    if check_url('/course/', u):        do something    elif check_url('/specializations/', u):        do som<p style="color:transparent">2本文来源gao!daima.com搞$代!码网</p><span>搞代gaodaima码</span>ething    elif check_url('/learn/', u):        do something</code>

<code>import reraw = '''https://www.coursera.org/course/inforiskhttps://www.coursera.org/specializations/cloudcomputinghttps://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'</code>

这里用到了正则.+,其中.是指任意字符,+代表一个以上的字符,.+就是匹配一个以上的任意字符。
Python中re模块是正则相关的模块,这里用到了re.search,如果匹配字符串成功,会返回一个对象,否则返回None
re模块还有其他函数,例如re.findall,re.match,re.replace

直接用in是不可以的,例如如果url是https://www.coursera.org/course/specializations,就会导致specializations和course都能匹配到。
希望可以帮到你。


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:javascript – 关于python,正则表达式作为if判断条件的问题

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址