import re

def reg_exp(senten):
jiqiren = "阿童木"
matchObj1 = re.search( r'(你(.*?)(男|女))|(机器(.*?)(男|女))|((.*?)(男的|男|女的|女))|(.*?)(什么(.*?)(性别))', senten, re.M|re.I)
matchObj2 = re.search( r''+ str(jiqiren) + '(.*?)(名字|姓名|叫什么|叫什么名|叫什么名字)', senten, re.M|re.I) if matchObj1:
print ("我是男的啊")
elif matchObj2:
print ("我叫阿童木")
else:
print ("No match!!") if __name__=="__main__":
senten = "阿童木的名字"
reg_exp(senten)

 注意

'+ str(jiqiren) + ' 要和r' 靠紧写。  这也验证了,正则表达式也可以写在txt里面,然后一行行读出来和r'配合。我们一起来见证下。之前搞了好久,这次灵感来了,分分钟解决

 import re

 def reg_exp(senten):
f = open("reg.txt")
lines = f.readlines()#读取全部内容
for line in lines:
print (line) matchObj1 = re.search( r''+ line +'', senten, re.M|re.I)
if matchObj1:
print ("我是男的啊")
else:
print ("No match!!") if __name__=="__main__":
senten = "你是男"
reg_exp(senten)

其中reg.txt的内容是  (你(.*?)(男|女))|(机器(.*?)(男|女))|((.*?)(男的|男|女的|女))|(.*?)(什么(.*?)(性别))    运行结果如下:

参考文章:

  https://www.cnblogs.com/yangshuo/archive/2013/06/06/3120595.html

python正则表达式里引入变量的更多相关文章

  1. Python正则表达式里的单行re.S和多行re.M模式

    Python正则表达式里的单行re.S和多行re.M模式 Python 的re模块内置函数几乎都有一个flags参数,以位运算的方式将多个标志位相加.其中有两个模式:单行(re.DOTALL, 或者r ...

  2. python正则表达式中含有变量的写法

    使用格式化字符串的方式实现举例: re.findall("(this,%s,'(.*?)'"%str(i),"abcd(this,1,'123123)')这里i为变量  

  3. python __main__ 里的变量是全局变量 因此在函数里面可以访问到

    __main__ and scoping in python from:https://stackoverflow.com/questions/4775579/main-and-scoping-in- ...

  4. Python第七天 函数 函数参数 函数里的变量 函数返回值 多类型传值 函数递归调用 匿名函数 内置函数

    Python第七天   函数  函数参数   函数里的变量   函数返回值  多类型传值     函数递归调用   匿名函数   内置函数 目录 Pycharm使用技巧(转载) Python第一天   ...

  5. 【Python】正则表达式中使用变量

    我们有时想把变量放进正则表达式中来匹配想要的结果.Python中使用 re.compile(r''+变量+''),其中正则表达式中的“变量”应为字符串形式. import re regex_test_ ...

  6. python 里内嵌函数是可以修改外部环境里的变量的

    python 里内嵌函数是可以修改外部环境里的变量的 关键是细节. 如果是简单变量类型, 那么不可以. 但是如果是容器类变量, 则没问题了. 代码如下: class G: pass def f(): ...

  7. python re:正则表达式中使用变量

    参考:https://www.cnblogs.com/songbiao/p/12422632.html Python中正则表达式的写法,核心就是一个字符串.如下:re.compile(r'表达式')所 ...

  8. python里用变量命名改善代码质量

    编程时,总会遇到各种各样的变量,取一个好的变量名能够有效提高代码的可读性,而且python是一种,动态类型的语言,良好的变量名,能够在编写代码或者再次阅读代码时提高效率. 1. 变量名不要太宽泛,要有 ...

  9. 你所不知道的库存超限做法 服务器一般达到多少qps比较好[转] JAVA格物致知基础篇:你所不知道的返回码 深入了解EntityFramework Core 2.1延迟加载(Lazy Loading) EntityFramework 6.x和EntityFramework Core关系映射中导航属性必须是public? 藏在正则表达式里的陷阱 两道面试题,带你解析Java类加载机制

    你所不知道的库存超限做法 在互联网企业中,限购的做法,多种多样,有的别出心裁,有的因循守旧,但是种种做法皆想达到的目的,无外乎几种,商品卖的完,系统抗的住,库存不超限.虽然短短数语,却有着说不完,道不 ...

随机推荐

  1. JSP中out.print()、out.println()以及out.write()的区别

    out是JSP九大内置对象之一,是JspWriter的一个对象,JspWriter继承了java.io.Writer类. out.print()和out.write() print()和println ...

  2. 优化 Markdown 在 Notepad++ 中的使用体验

    选择一个强大而好用的文本编辑器,是进行 Web 开发和编程必不可少的一部分,甚至对于通常的写作,一个舒服的文本编辑器也会让你写起文字来觉得优雅而潇洒.Sublime Text 是一款不错的编辑器,简洁 ...

  3. Python自带IDE设置字体

    打开Python 3.7.0 shell 点击菜单项 “”Options“”>"Configure IDLE" 可选择窗口的字体和大小 可选择背景主题颜色 可自定义配置

  4. PHP加密解密方法,使用openssl加密解密

    /** * des 加密算法 */ function do_mencrypt($input, $key) { if (!function_exists("mcrypt_module_open ...

  5. LoadRunner脚本参数化之自动关联和手动关联

    一.关联的意义  1.关联的含义 关联(correlation):在脚本回放过程中,客户端发出请求,通过关联函数所定义的左右边界值(也就是关联规则),在服务器所响应的内容中查找,得到相应的值,以变量的 ...

  6. day 55 jQuery-part2

    这里有一个DOM对象转换成jQuery对象的方法,在jQuery对象后面加上索引值0即可得到效果如图所示: $("#btn")[0] 这里我们这里的索引值为0 只是一种写法而已,只 ...

  7. 1、Qt Project之基本文件打开与保存

    基本文件打开与保存: 首先是涉及到的头文件,我们需要在mainwindow.h包含头文件: #include <QFileDialog> #include <QFile> #i ...

  8. 如何找到fastjson.jar这个阿里开源的jar包

    如何找到fastjson.jar这个阿里开源的jar包 转载 https://blog.csdn.net/AngelLover2017/article/details/84261261 Java编程中 ...

  9. 牛客练习赛 26 C题 城市规划【贪心】

    <题目链接> 题目描述 小a的国家里有n个城市,其中第i和第i - 1个城市之间有无向道路连接,特殊的,第1个城市仅与第2个城市相连为了减轻道路维护负担,城市规划局局长MXT给出了m个要求 ...

  10. MyEclipse、Eclipse使用配置及部分问题

    简单总结一下myeclipse首次使用的配置,eclipse类似.总结的不是很全面,如有新的看法,欢迎下方留言. 最优设置 1.myeclipse激活 myeclipse.eclipse程序及激活工具 ...