热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何从ruby上的以下正则表达式中删除引用?-HowdoIremovethequotefromthefollowingregexponruby?

Ihavethefollowingregex:我有以下正则表达式:[]*(?<name>.*)[\]*?\s*[<(](?<email>\w.*)[&

I have the following regex:

我有以下正则表达式:

/["]*(?.*)[\"]*?\s*[<(](?\w.*)[>)]/.match("\"The Boss\" ")

and get the following result:

并得到以下结果:

name = The Boss"
email = daboss@aol.com

How do I get rid of the last quote on The Boss"???

我怎么摆脱老板的最后一句话“???

Feel free to refactor my regex to make it more sensical...

随意重构我的正则表达式,使其更具感性......

2 个解决方案

#1


2  

The problem is that (?) is .*, which will eat anything, including double quotes. An easy way to fix that would be to change it to .*?. (That's a reluctant matcher; it matches as few characters as possible, rather than as many as possible.)

问题是(? )是。*,它会吃任何东西,包括双引号。解决这个问题的简单方法是将其更改为。*? (这是一个不情愿的匹配器;它匹配尽可能少的字符,而不是尽可能多的字符。)

Another way to do it would be to use [^"]* rather than .*.

另一种方法是使用[^“] *而不是。*。

There is an important lesson to be learned about regexps here: whenever you write a regexp, don't just think about what you want to match; think about what you don't want to match. A very common source of errors with regexps is matching too much.

这里有关于regexp的重要教训:每当你写一个正则表达式时,不要只考虑你想要匹配的东西;想想你不想匹配的东西。 regexp的一个非常常见的错误来源是匹配太多。

#2


1  

You probably want to disallow quotation marks in the name. This will fix your example:

您可能希望禁用名称中的引号。这将修复您的示例:

/["]*(?[^"]*)[\"]*?\s*[<(](?\w.*)[>)]/.match("\"The Boss\" ")

If you want to support backslash escaping, you'll need something more sophisticated, though.

如果你想支持反斜杠转义,你需要更复杂的东西。


推荐阅读
  • java解析json转Map前段时间在做json报文处理的时候,写了一个针对不同格式json转map的处理工具方法,总结记录如下:1、单节点单层级、单节点多层级json转mapim ... [详细]
  • 本文探讨了在使用JavaMail发送电子邮件时,抄送功能未能正常工作的问题,并提供了详细的代码示例和解决方法。 ... [详细]
  • Java中字符串截取方法详解
    本文详细介绍了Java中常用的字符串截取方法及其应用场景,帮助开发者更好地理解和使用这些方法。 ... [详细]
  • 本打算教一步步实现koa-router,因为要解释的太多了,所以先简化成mini版本,从实现部分功能到阅读源码,希望能让你好理解一些。希望你之前有读过koa源码,没有的话,给你链接 ... [详细]
  • URL参数格式http:localhos:8080demo?ab&cd&ef匹配参数a对应的表达式为^a([^&]*)&匹配参数b对应的表达式为&b([^&]*)&匹配参数c对应 ... [详细]
  • 使用HTML和JavaScript实现视频截图功能
    本文介绍了如何利用HTML和JavaScript实现从远程MP4、本地摄像头及本地上传的MP4文件中截取视频帧,并展示了具体的实现步骤和示例代码。 ... [详细]
  • 本文介绍了Go语言中正则表达式的基本使用方法,并提供了一些实用的示例代码。 ... [详细]
  • python模块之正则
    re模块可以读懂你写的正则表达式根据你写的表达式去执行任务用re去操作正则正则表达式使用一些规则来检测一些字符串是否符合个人要求,从一段字符串中找到符合要求的内容。在 ... [详细]
  • HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送www方式的数据。HTTP协议采用了请求响应模型。客服端向服务器发送一 ... [详细]
  • Python正则表达式(Python RegEx)
    Python正则表达式快速参考常用函数:re.match():从字符串的起始位置匹配一个正则表达式。re.search():扫描整个字符串并返回第一个成功的匹配。re.s ... [详细]
  • 本文介绍了如何将Spring属性占位符与Jersey的@Path和@ApplicationPath注解结合使用,以便在资源路径中动态解析属性值。 ... [详细]
  • 自然语言处理(NLP)——LDA模型:对电商购物评论进行情感分析
    目录一、2020数学建模美赛C题简介需求评价内容提供数据二、解题思路三、LDA简介四、代码实现1.数据预处理1.1剔除无用信息1.1.1剔除掉不需要的列1.1.2找出无效评论并剔除 ... [详细]
  • 一个建表一个执行crud操作建表代码importandroid.content.Context;importandroid.database.sqlite.SQLiteDat ... [详细]
  • 本文详细介绍了如何使用Python中的smtplib库来发送带有附件的邮件,并提供了完整的代码示例。作者:多测师_王sir,时间:2020年5月20日 17:24,微信:15367499889,公司:上海多测师信息有限公司。 ... [详细]
  • Python默认字符解析:深入理解Python中的字符串处理
    在Python中,字符串是编程中最基本且常用的数据类型之一。尽管许多初学者是从C语言开始接触字符串,通常通过经典的“Hello, World!”程序入门,但Python对字符串的处理方式更为灵活和强大。本文将深入探讨Python中的字符串处理机制,包括字符串的创建、操作、格式化以及编码解码等方面,帮助读者全面理解Python字符串的特性和应用。 ... [详细]
author-avatar
燕阳阳消_469
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有