设为首页收藏本站

Crossin的编程教室

 找回密码
 立即加入
楼主: crossin先生
打印 上一主题 下一主题

集中答疑专用贴

  [复制链接]

6

主题

0

好友

116

积分

注册会员

Rank: 2

楼主
发表于 2018-1-10 02:58:10 |显示全部楼层
两位老师好! 按照raw的意思是完全匹配''里面包含的字符串,例如r'\t'是匹配文本中的\t.那么为什么在找单词的时候前面会加上raw呢?那样不是匹配包含转义符的字符串吗?
python 3.63 os win10
#! python3
import re
text = 'site sea sue sweet see case sse se ssee ssssse loses'
x = re.findall( r"\bs\S*?e\b", text)
回复

使用道具 举报

6

主题

0

好友

116

积分

注册会员

Rank: 2

沙发
发表于 2018-1-10 15:05:18 |显示全部楼层
crossin先生 发表于 2018-1-10 14:24
转义是字符串层面
不要和正则表达式的符号搞混了

您说的还是有疑惑,既然正则表达式 \b 就表示空的一个位置,那么加上raw不是多此一举吗
回复

使用道具 举报

6

主题

0

好友

116

积分

注册会员

Rank: 2

板凳
发表于 2018-1-11 15:50:05 |显示全部楼层
本帖最后由 pylearner 于 2018-1-11 18:09 编辑
TED 发表于 2018-1-10 17:02
我不是老师  不敢当哈

ted老师好! 有三个小问题请教一下
1. 没有明白: raw完全匹配 '' 里面包含的字符串,例如r'\t'是匹配文本中的\t.那么为什么在找单词的时候前面会加上raw呢?那样不是匹配包含转义符的字符串吗?
python 3.63 os win10
#! python3
import re
text = 'site sea sue sweet see case sse se ssee ssssse loses'
x = re.findall( r"\bs\S*?e\b", text)

2. 按照我的系统win10安装了Python2.7 & 3.64 安装和环境都是正常配置好.(调用 py -3 和 py -2 都可以).但是在scripts前面加 #! /usr/bin/env python2 或者 #!python2 等都是启动python3.64. 怎么样写才能启动python2?
eg:
#! /usr/bin/env python2import sys
sys.stdout.write("hello from Python %s\n" % (sys.version,))

输出:
hello from Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)]
请问怎么办? 我没用其他ide试过.

问题三: 请问如何在def函数内定义key值为数字的字典

def printAll(**kargs):
    for k in kargs:
        print (k, ':', kargs[k])
        print (kargs)
printAll(a=1, b=(1,2), c=3,4 = 5)

各种改法都报错 keyword cant be an expression.

回复

使用道具 举报

6

主题

0

好友

116

积分

注册会员

Rank: 2

地板
发表于 2018-1-13 04:05:51 |显示全部楼层
TED 发表于 2018-1-12 19:06
第一个问题
字符串“\bs\S*?e\b”如果不处理,转义字符就会发挥作用,导致字符串成了“s\S*?”,按这个来 ...

谢谢 ted的回答!! 另外关于问题2, 你可能这样改不是用于命令行调用 python2/3 吗, 对scripts里面的 #! python3 有效果吗?  由此衍生一个问题 #之后不是被注释掉吗 为什么 # -*- coding: utf-8 -*- 会改变编码方式呢?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

QQ|手机版|Archiver|Crossin的编程教室 ( 苏ICP备15063769号  

GMT+8, 2024-5-6 17:05 , Processed in 0.025568 second(s), 22 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部