sb=re.compile(r'([^-]*)') #城市字段精简为区分到市级 def old_job_city(): sql="select j_id,area from boss" db = dbcon.dbc().conn() cs = db.cursor(); try: # 执行sql语句 cs.execute(sql) # 提交到数据库执行 db.commit() result = cs.fetchall(); except: # 发生错误时回滚 db.rollback() # 关闭数据库连接 db.close() return result joblist=old_job_city() def new_job_city(city,id): sql="update boss set area='%s' where j_id='%d'"%(city,id) db = dbcon.dbc().conn() print(sql) ds = db.cursor(); n = 0 try: # 执行sql语句 n = ds.execute(sql) # 提交到数据库执行 db.commit() except: # 发生错误时回滚 db.rollback() # 关闭数据库连接 db.close() return n for job in joblist: city=re.findall(sb, job[1]) if len(city)>2: new_job_city(city[0],job[0]) else: continue
时间: 2024-02-15 10:11:35 浏览: 23
这段代码的作用是从数据库中查询职位的城市信息,将城市字段精简为区分到市级,然后更新到数据库中。具体来说,它首先定义了一个正则表达式 `sb`,用于匹配城市信息中的非 `-` 字符串。然后通过 `old_job_city()` 函数从数据库中查询所有的职位信息和城市信息。接着定义了一个 `new_job_city()` 函数,用于更新给定职位的城市信息。最后通过一个循环遍历所有的职位信息,将城市信息精简为市级,然后更新到数据库中。
相关问题
RE_FEATURE_FUNC = re.compile('%x\\[-?\\d,\\d\\]') RE_FEATURE_COLUMN = re.compile('-?\\d') ?
`RE_FEATURE_FUNC` 是一个用于匹配特征函数的正则表达式对象。它可以用来识别形如 `%x[i,j]` 的特征函数表示,其中 `i` 和 `j` 是整数,表示特征函数作用在当前位置的前 `i` 个和后 `j` 个位置上。
以下是对 `RE_FEATURE_FUNC` 的解释:
- `%x` 表示匹配 `%x` 字符串。
- `\\[` 表示匹配 `[` 字符,由于 `[` 在正则表达式中有特殊含义,所以需要使用 `\\` 进行转义。
- `-?` 表示匹配可选的负号,即特征函数可以作用在当前位置的前面或后面。
- `\\d` 表示匹配一个数字。
- `,` 表示匹配逗号。
- `\\d` 表示匹配一个数字。
- `\\]` 表示匹配 `]` 字符,同样需要使用 `\\` 进行转义。
因此,`RE_FEATURE_FUNC` 可以匹配如 `%x[-1,2]`、`%x[0,0]`、`%x[3,0]` 等格式的特征函数。
而 `RE_FEATURE_COLUMN` 是一个用于匹配特征列的正则表达式对象。它可以用来识别形如 `-1`、`2` 等整数,表示特征函数作用在当前位置的前几个或后几个位置上。
以下是对 `RE_FEATURE_COLUMN` 的解释:
- `-?` 表示匹配可选的负号,用于表示特征函数作用在当前位置的前面或后面。
- `\\d` 表示匹配一个数字。
因此,`RE_FEATURE_COLUMN` 可以匹配如 `-1`、`2` 等格式的特征列。
这两个正则表达式对象可以用于解析特征函数的参数,从而进行特征提取和处理。
pattern = re.compile( '<dd>.*?board-index.*?>(.*?) </i>.*?data-src="(.*?)".*?name.*?a.*?>(.*? )</),*2star,*2(,*9) </0》,*/releasetime,*2(*I
这段代码是使用Python中的re模块来解析网页内容。其中,pattern = re.compile('<dd>.*?board-index.*?>(.*?)</i>.*?data-src="(.*?)".*?name.*?a.*?>(.*?)</a>.*?star.*?>(.*?)</p>.*?releasetime.*?>(.*?)</p>.*?integer.*?>(.*?)</i>.*?fraction.*?>(.*?)</i>.*?</dd>', re.S)是定义了一个正则表达式的模式,用于匹配特定格式的文本。
items = re.findall(pattern, html)则是使用该模式来在html中查找所有匹配的内容,并以列表的形式返回结果。