参考:https://www.cnblogs.com/songbiao/p/12422632.html

Python中正则表达式的写法,核心就是一个字符串。如下:re.compile(r'表达式')
所以,如果要在正则表达式中包含变量,那么就可以用{}.format语法,类似string中包含变量的处理方法,当然要确保变量为string型。如下:
re.compile(r'expression' + var + 'expression')
re.compile(r'expression(%s)expression' %var)
re.compile(r'expression{}expression'.format(var))

有用的正则表达式网页工具和手册:
正则表达式手册
推荐regexr

参考:https://blog.csdn.net/mifaxie/article/details/79351737

正则表达写法:
re.compile(r’表达式’)

包含变量的正则表达式写法
re.compile(r’表达式’+变量+’表达式’)
re.compile(r’表达式(%s)表达式’ %变量)

示例代码:

url = "oreilly.com"
regex3 = re.compile(r"^((/|.)*(%s))" %url)
regex4 = re.compile(r"^((/|.)*oreilly.com)")
regex5 = re.compile(r"^((/|.)*"+ url +')') string3 = '/oreilly.com/baidu.com' mo3 = regex3.search(string3)
mo4 = regex4.search(string3)
mo5 = regex5.search(string3)
print(mo3.group())
print(mo4.group())
print(mo5.group())

输出结果如下:

/oreilly.com
/oreilly.com
/oreilly.com
[Finished in 1.3s]

参考:https://www.cnblogs.com/Atanisi/p/8536046.html

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

1 import re
2 regex_test_output = re.compile('Test net output #(\d+): (\S+) = ([.\deE+-]+)')
3 regex_test_output

  得到结果

re.compile(r'Test net output #(\d+): (\S+) = ([.\deE+-]+)', re.UNICODE)

  可以看到,Python是将正则表达式用字符串表示的,格式为 r'正则表达式 '

  正则表达式使用变量例子:

1 regex_test = []
2 for i in range(5):
3 regex_test.append(re.compile(r'Iteration (\d+), Testing net \(#' + str(i) + '\)'))
4 print(regex_test[i])

  结果为

re.compile('Iteration (\\d+), Testing net \\(#0\\)')
re.compile('Iteration (\\d+), Testing net \\(#1\\)')
re.compile('Iteration (\\d+), Testing net \\(#2\\)')
re.compile('Iteration (\\d+), Testing net \\(#3\\)')
re.compile('Iteration (\\d+), Testing net \\(#4\\)')

附正则表达式语法:网址

python re:正则表达式中使用变量的更多相关文章

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

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

  2. python with语句中的变量有作用域吗?

    一直以为python中的with语句中的变量,只在with语句块中起作用.不然为什么要缩进一个级别呢? 呵呵,然而并没有为with语句内的变量创建新的作用域. 举例: # test.py with o ...

  3. python开发_python中的变量:全局变量和局部变量

    如果你在为python中的变量:全局变量和局部变量头疼,我想这篇blog会给你帮助 运行效果: 代码部分: #Python中的变量:全局变量和局部变量 #在很多语言中,在声明全局变量的时候,都喜欢把全 ...

  4. python在shell中环境变量使用

    1.用Python Shell设置或获取环境变量的方法: 设置系统环境变量 os.environ['环境变量名称']='环境变量值' #其中key和value均为string类型 os.putenv( ...

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

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

  6. Python入门编程中的变量、字符串以及数据类型

    //2018.10.10 字符串与变量 1. 在输出语句中如果需要出现单引号或者双引号,可以使用转义符号\,它可以将其中的歧义错误解释化解,使得输出正常: 2. 对于python的任何变量都需要进行赋 ...

  7. Python - ^在正则表达式中的作用

    ^在正则表达式中有两个作用,一是表达以什么开头,二是表达对什么取反.有时候经常傻傻的分不清楚,接下来给大家详细介绍该怎么用这个^准备一个python文件test.py,借用re.search函数举例说 ...

  8. python之字符串中插入变量

    方法一:也是 比较好用的,功能教齐全 s="{name} is {sex}" print(s.format(name="zzy",sex="girl& ...

  9. 修改python import模块中的变量

    可以直接通过 模块名.变量名=xx 的方式修改模块中的全局变量,测试代码如下 模块:test_model.py x = 111 def inc_x(): global x x = x + 1 测试脚本 ...

随机推荐

  1. Datagird样式

    <Window  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  xmlns:x=&qu ...

  2. Docker宿主机管理

    不需要每次输入sudo 在当前用户的用户目录.bashrc中增加以下内容,此后使用docker命令时不需要每次都增加sudo. echo 'sudo usermod -aG docker $USER' ...

  3. Java环境搭建与HelloWprld—改变世界的第一步

    1. JDK下载 访问oracle官网:http://www.oracle.com 在首页点击Downloads,进入oracle软件下载页. 在下载页面,点击Java. 选择Java (JDK) f ...

  4. iOS之多语言开发

    前要:iOS多语言开发,可以分为两种 系统设置,通过在手机设置中切换语言,进而改变app中语言: app中手动切换,用户在app中,手动选择语言,进行切换. 一.添加需要的语言 不管使用哪种方法,都需 ...

  5. 在FLASH中读写结构体

    在FLASH中读写结构体 注意事项 编程(写数据)地址要对齐 写数据时,我们要指定写入的地址,如果写入地址为非对齐,则会出现编程对齐错误. 比如遵循32位(4字节)地址对齐,你的地址只能是4的倍数.0 ...

  6. 浏览器+css基础+选择器+权重+匹配规则

    浏览器的组成: shell+内核 shell:用户能看得到的界面就叫shell 内核:渲染rendering引擎和js引擎 现在主流拥有自己开发内核的浏览器:opera现在属于360和昆仑万维 CSS ...

  7. no rxtxSerial in java.library.path

    java开发过程中,遇到no rxtxSerial in java.library.path问题,是由于缺少一个dll文件导致. 在jre/bin下添加rxtxSerial.dll 文件 win10环 ...

  8. spy++查找窗口句柄

    spy++可以用来查找桌面程序(c/s)的窗口句柄,实现自动化测试. def find_idxSubHandle(pHandle, winClass, index=0): ""&q ...

  9. Python3入门系列之-----算术运算符|比较运算符|赋值运算符|逻辑运算符|成员运算符|身份运算符

    什么是运算符? 本章节主要说明Python的运算符.举个简单的例子 1 +2 = 3 . 例子中,1 和 1.2 被称为操作数,"+" 称为运算符. Python语言支持以下类型的 ...

  10. 深入浅出WPF-06.Binding(绑定)02

    Binding对数据的校验和转换 1)数据校验,通过Binding的ValidationRules属性(Collection类型)进行校验.可以设置多个数据校验条件. <Slider Margi ...