zoukankan      html  css  js  c++  java
  • python正则表达式里引入变量

    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'配合。我们一起来见证下。之前搞了好久,这次灵感来了,分分钟解决

     1 import re
     2 
     3 def reg_exp(senten):
     4     f = open("reg.txt")           
     5     lines = f.readlines()#读取全部内容  
     6     for line in lines:
     7         print (line)
     8 
     9         matchObj1 = re.search( r''+ line +'', senten, re.M|re.I)
    10         if matchObj1:
    11             print ("我是男的啊")
    12         else:
    13             print ("No match!!")
    14 
    15 
    16 if __name__=="__main__":
    17     senten = "你是男"
    18     reg_exp(senten)

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

     参考文章:

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

  • 相关阅读:
    中心极限定理
    BCEloss和交叉熵损失的区别
    postgresql的python接口
    DataGrip 2020.1 安装与激活方法
    区块链技术
    TensorRT推理加速推断并提高吞吐量
    纯视觉取代slam做路径规划及避障的思路
    DL重新回顾总结
    OpenCV 轮廓方向
    OpenCV 低通滤波(可设置频率)
  • 原文地址:https://www.cnblogs.com/www-caiyin-com/p/8302675.html
Copyright © 2011-2022 走看看