regex - 如何改进此 RE 以不以“('”结尾?
问题描述
我有这个正则表达式
href=["'](.*?)["']
我想匹配整个字符串,但它只匹配('
并且不包括 explore
href="javascript:openurl('/Xplore/accessinfo.jsp')"
它也必须匹配
href="/iel5/4235/4079606/04079617.pdf?tp=&arnumber=4079617&isnumber=4079606"
第一个链接是唯一的特殊情况,我已经能够将所有其他情况与我提供的正则表达式匹配,我只是想以某种方式排除'
第一个字符串中间的。
解决方案
你可以做的是有一个积极的前瞻定义字符串的结尾:
^href=("|').*?(?=\1)\1$
这样,无论是单引号还是双引号,第二个捕获组都会运行,直到找到相同的单引号或双引号。
推荐阅读
- mysql - 将 MySQL 数据迁移到 Firebase 的有效方法
- r - 在 R 中保存 for 循环的输出
- doctrine-orm - Doctrine 2 Querybuilder - 两个连接导致错误的总和结果
- google-apps-script - 当在其上方的行中写入内容时显示新行
- postgresql - 对于批量输入,如何更新匹配的行并将不匹配的行作为新行插入?
- javascript - 如何在框架中获取附加到相机的光标的世界位置
- ios - Cropping a JPEG image without resampling it
- php - 根据用户的活跃会员数量显示/隐藏内容
- minizinc - MiniZinc 中的高阶函数
- opencv - 如何在 OpenCV 中匹配 VideoCapture 和 VideoWriter 之间的帧速率?