热门标签 | 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.

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


推荐阅读
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 本文介绍了在处理不规则数据时如何使用Python自动提取文本中的时间日期,包括使用dateutil.parser模块统一日期字符串格式和使用datefinder模块提取日期。同时,还介绍了一段使用正则表达式的代码,可以支持中文日期和一些特殊的时间识别,例如'2012年12月12日'、'3小时前'、'在2012/12/13哈哈'等。 ... [详细]
  • Ihaveaworkfolderdirectory.我有一个工作文件夹目录。holderDir.glob(*)>holder[ProjectOne, ... [详细]
  • 正则表达式及其范例
    为什么80%的码农都做不了架构师?一、前言部分控制台输入的字符串,编译成java字符串之后才送进内存,比如控制台打\, ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • 本文讨论了一个关于正则的困惑,即为什么一个函数会获取parent下所有的节点。同时提出了问题是否是正则表达式写错了。 ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • Python爬虫中使用正则表达式的方法和注意事项
    本文介绍了在Python爬虫中使用正则表达式的方法和注意事项。首先解释了爬虫的四个主要步骤,并强调了正则表达式在数据处理中的重要性。然后详细介绍了正则表达式的概念和用法,包括检索、替换和过滤文本的功能。同时提到了re模块是Python内置的用于处理正则表达式的模块,并给出了使用正则表达式时需要注意的特殊字符转义和原始字符串的用法。通过本文的学习,读者可以掌握在Python爬虫中使用正则表达式的技巧和方法。 ... [详细]
  • 从批量eml文件中提取附件的Python代码实现方法
    本文介绍了使用Python代码从批量eml文件中提取附件的实现方法,包括获取eml附件信息、递归文件夹下所有文件、创建目的文件夹等步骤。通过该方法可以方便地提取eml文件中的附件,并保存到指定的文件夹中。 ... [详细]
  • C语言自带的快排和二分查找
    Author🚹:CofCaiEmail✉️:cai.dongjunnexuslink.cnQQ😙:1664866311personalPage&#x ... [详细]
  • 点击上方“新机器视觉”,选择加”星标”或“置顶”重磅干货,第一时间送达很早就想总结一下前段时间学习HALCON的心得,但由于其他的事情总是抽不出时间。去年有过一段时间的集中学习,做 ... [详细]
  • PreparedStatement防止SQL注入
    添加数据:packagecom.hyc.study03;importcom.hyc.study02.utils.JDBCUtils;importjava.sql ... [详细]
  • Non-ASCIIhelponitsownisOK: ... [详细]
  • 使用Flutternewintegration_test进行示例集成测试?回答首先在dev下的p ... [详细]
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社区 版权所有