python正则表达式去除匹配模式两端的引号等定位符

在实际应用中,利用正则表达式在文本数据中提取特定的字符串时,我们实际用于定位的正则表达式有一部分是不想要的。举例来说,在以下文本中

........他说:“别说我的眼泪你无所谓。”然后她说,"滚蛋".....

如果我们想把两个人说的话提取出来,可以利用双引号构建正则表达式,形如 “.*” 但这样提取出来的字符串会包含双引号本身。为了去除双引号,可以使用以下模式:

pattern = re.compile(‘(?<=“).*(?=”)’)

开头不想要的东西放在括号()内,并在前面添加?<=三个字符,末尾不想要的也放在括号()内,前面加?=两个字符即可。

当然,就本例来说,如果为了防止贪婪匹配,可以把中间的任意字符改为非双引号的字符,即[^"]*

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 几个正则表达式编辑器 Debuggex :https://www.debuggex.com/ PyRegex:ht...
    没技术的BUG开发攻城狮阅读 4,622评论 0 23
  • 初衷:看了很多视频、文章,最后却通通忘记了,别人的知识依旧是别人的,自己却什么都没获得。此系列文章旨在加深自己的印...
    DCbryant阅读 4,071评论 0 20
  • 推荐几个正则表达式编辑器 Debuggex :https://www.debuggex.com/ PyRegex:...
    木易林1阅读 11,555评论 9 151
  • 正则表达式到底是什么东西?字符是计算机软件处理文字时最基本的单位,可能是字母,数字,标点符号,空格,换行符,汉字等...
    狮子挽歌阅读 2,178评论 0 9
  • re模块手册 本模块提供了和Perl里的正则表达式类似的功能,不关是正则表达式本身还是被搜索的字符串,都可以...
    喜欢吃栗子阅读 4,050评论 0 13