• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >编程问答 > 正则表达式提取指定字符串

正则表达式提取指定字符串

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-07

佚名通过本文主要向大家介绍了正则表达式提取字符串,正则表达式匹配字符串,正则表达式截取字符串,正则表达式任意字符串,字符串正则表达式等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题:正则表达式提取指定字符串
描述:

text = u'''$\frac{$\frac{1}{2}$}{$sqrt[]{2}$}$,
$\frac{$\frac{1}{2}$}{$sqrt[]{2}$}$,
$\frac{$\frac{1}{2}$}{$sqrt[]{2}$}$,
$\frac{$\frac{1}{2}$}{$sqrt[]{2}$}$,
$\frac{$\frac{1}{2}$}{$sqrt[]{2}$}$,'''
#如何提取出$\frac{$\frac{1}{2}$}{$sqrt[]{2}$}$两端$包含的字符串,目标是提取出5组字符串
#用pattern = re.compile(r'\\frac{.*?}{(.*?)}', re.S)不能正确提取出想要的数据


解决方案1:

这个看你具体业务了,如果按照你上面的text和原来的正则表达式的话,正则改成'\\frac{.*}'应该就能完成,如果是要捕捉两个$符号之间的 '\$(.*)\$'的子捕获应该就是结果.
你原来的表达式因为加了'?',变成非贪婪,第一个'{.*?}'捕捉的是{$\frac{1},第二个捕捉的是{2},所以没有提取正确数据

问题似乎换成多行的了,不过一样,看你的正则配置'.'是匹配非换行符的,则不变,如果'.'是匹配包括换行符的,那就换成'\${\S*}\$'

解决方案2:

题主真是,问问题不一步问到位

答案如下:

#-*- coding: utf-8 -*-
import re

text = u'''$\frac{$\frac{1}{2}$}{$sqrt[]{2}$}$,
$\frac{$\frac{1}{2}$}{$sqrt[]{2}$}$,
$\frac{$\frac{1}{2}$}{$sqrt[]{2}$}$,
$\frac{$\frac{1}{2}$}{$sqrt[]{2}$}$,
$\frac{$\frac{1}{2}$}{$sqrt[]{2}$}$,'''

re_text = re.compile(ur'\$(.+)\$')
for i in re_text.finditer(text):
    #print(i.group(1))
    #本来到上面这行就可以结束了,然而上面的\f会被python转义,所以我们转回去
    print(i.group(1).replace("\f", "\\f"))

输出

\frac{$\frac{1}{2}$}{$sqrt[]{2}$}
\frac{$\frac{1}{2}$}{$sqrt[]{2}$}
\frac{$\frac{1}{2}$}{$sqrt[]{2}$}
\frac{$\frac{1}{2}$}{$sqrt[]{2}$}
\frac{$\frac{1}{2}$}{$sqrt[]{2}$}


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 正则表达式提取字符串问题
  • 正则表达式提取指定字符串

相关文章

  • 2017-06-07 (redis)linux:centosyum的软件源都是那么旧的?
  • 2017-06-07 EffectiveC++条款2的疑问?
  • 2017-06-07 (python)安装Airflow报错
  • 2017-06-07 Python中的实际常用的构建工具有哪些就像Java世界中的Ant,Maven?
  • 2017-06-07 关于编程时查询api文档,问大家几个问题
  • 2017-06-07 java正则表达式语法请教一个c++11的正则语法
  • 2017-06-07 (python)scrapy运行爬虫一打开就关闭了没有爬取到数据是什么原因
  • 2017-06-07 Python正则表达式替换字符
  • 2017-06-07 七牛上传音频至空间之后,下载不下。。。浏览器访问音频文件的外链地址也是不行
  • 2017-06-07 对比HandlerSocket和Python的MySQL客户端,性能相差近一倍

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • python爬取京东的数据获取不到产品的价格,请做爬虫专家指导一下
    • python快速排序算法实现'int'objectisnotiterable
    • Python用Py2exe打包脚本找不到Win32api模块
    • flask去掉returnredirecturl_for'index',结果没有变化
    • django(python)django怎么从数据库取数据?
    • Flask使用CKEditorCodeSnippet扩展插入代码后文章首页变得不正常是什么原因
    • 使用Ueditor编辑器,上传的图片怎么都自动压缩了?
    • switchysharp如何手动配置规则
    • golang怎么对日期和时间进行排序?
    • 为什么我用php上传图片到七牛只传上去1kb,而图片是6kb

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有