鱼C论坛

 找回密码
 立即注册
查看: 1208|回复: 10

关于正则表达式的一点问题

[复制链接]
发表于 2018-7-23 03:07:55 | 显示全部楼层 |阅读模式
10鱼币
假如我要用   ‘求’ ‘烟’ 这两个字来匹配任何带有这两个字的字符串,应该怎么写正则表达式啊?
求大佬指教!

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-7-23 09:11:00 | 显示全部楼层
.*求.*烟.*
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-7-23 10:52:12 | 显示全部楼层
给你个网址可以练习正则匹配,还有一些使用规则可以查看:https://c.runoob.com/front-end/854
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-7-23 12:33:37 | 显示全部楼层
  1. len(set(re.findall(r"[求烟]", s2)))
  2. 使用findall全文匹配,再用set去重,如果出来的结果长度等于2,说明“求”和“烟”都在文本中,否则只有"求"或者只有"烟"或者都没有。
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-7-23 18:09:32 | 显示全部楼层
import re
it = re.compile(r'形式')
list1 = it.findall('asdadas' '形式如下 ')
list2 = it.findall('asdada4453435')
print (list1)
print (list2)
结果是
['形式']
[]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-7-23 18:27:22 | 显示全部楼层
你这个匹配要求,用字符串自带的find方法判断不好吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-7-26 13:41:30 | 显示全部楼层
('[求|烟')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-7-26 13:43:16 | 显示全部楼层
re.findall('[求|烟]',”需要查找的字符串“,re.S)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-7-26 13:50:05 | 显示全部楼层
上面的只能匹配下“烟和求这两个字”
如果要判断字符串中是否存在“烟”或者“求”
=============================
可以用in函数
实例:
if  “烟” in  “查找的字符串” or “求” in “查找的字符串”:
     print('查找的字符串‘)
=============================
如果你一定要用正则
可以用下面这个代码
实例:
if re.findall('[求|烟]',”查找的字符串",re.S):
    print('查找的字符串')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-7-26 22:30:13 | 显示全部楼层
[\u4e00-\u9fa5]*求[\u4e00-\u9fa5]*烟[\u4e00-\u9fa5]*,这就只包含汉字不会右标点字母
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-7-27 10:42:04 | 显示全部楼层
/ ^ \.*(求 | 烟).*  $/  

/^    $/  这组符号表示是正则表达式,不需要再次申明了,
  .   表示任意字符
  *   表示任意数目个
   (求 | 烟)  表示 求  或者 烟 ,这是只要有其中一个就满足匹配
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-24 21:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表