正则表达式正在抓取前面的字符

2024-01-12

所以我在正则表达式中遇到了一些不一致的行为

我的正则表达式:

(?<=test\\\\)(.*)(?=\",)

输入字符串:

"test.exe /c echo teststring > \\\\.\\test\\teststring",

当我运行这个时https://Regex101.com https://Regex101.com

我得到了价值teststring但是当我在 F# 中运行它时

Regex.Match(inputString, "(?<=test\\\\)(.*)(?=\",)")

I get \teststring后退。我的目标是得到公正teststring。我不确定我做错了什么。


我使用三引号字符串取得了成功。那么只需要考虑正则表达式转义,而不需要考虑 F# 字符串转义。

let inputString = """test.exe /c echo teststring > \\\\.\\test\\teststring","""
let x = Regex.Match(inputString, """(?<=test\\\\)(.*)(?=\",)""")

“测试字符串”出来了

源中的字符串显示为

(?<=test\\)(.*)(?=",)

如果您不想使用三引号或逐字,则必须在 F# 中编写:

"(?<=test\\\\\\\\)(.*)(?=\\\",)"

F# 中的此字符串使用反斜杠来转义反斜杠和引号字符。一个位置连续有八个反斜杠,这将成为字符串值中的四个实际反斜杠。还有这样的:

\\\"

这会转换为实际字符串值中的一个实际的 \ 和一个实际的 " 。

所以我们最终得到一个字符串值

(?<=test\\\\)(.*)(?=\",)

这是馈送到正则表达式引擎的实际字符串值。与 F# 编译器一样,正则表达式引擎也使用反斜杠来转义字符。这就是为什么任何实际的反斜杠都必须加倍然后再加倍。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

正则表达式正在抓取前面的字符 的相关文章

  • 正则表达式将单词的开头和结尾与元音匹配

    我正在尝试以下操作Regex aeiou aeiou 但它不起作用 我测试了 abcda 并且不匹配 它应该只是 aeiou aeiou 额外的 您需要第二个字符是一个文字点 例如 a hello 但由于您的测试用例 abcda 不包含这样
  • 如何在正则表达式中输入“:”(“冒号”)?

    冒号 在正则表达式中具有特殊含义 但我需要按原样使用它 例如 A Za z0 9 我试图逃避它 但这不起作用 A Za z0 9 在大多数正则表达式实现 包括 Java 的 中 无论在字符类内部还是外部 都没有特殊含义 您的问题很可能是由于
  • 删除匹配前的一个单词和一个单词

    匹配之前的一个单词可以是一组任何符号 例如 D E F 我有一个正则表达式 s w s XXX 输入示例 This is KKK M D D xXx PPP输出示例 This is KKK PPP 所以我需要删除 XXX 之前的 1 个单词
  • 如何在 jQuery 中将标题转换为 URL slug?

    我正在 CodeIgniter 中开发一个应用程序 我试图在表单上创建一个字段来动态生成URL slug 我想做的是删除标点符号 将其转换为小写 然后用连字符替换空格 例如 Shane s Rib Shack 将变成 shanes rib
  • Slim 3 - 斜杠作为路由参数的一部分

    我需要使用可以包含斜杠 的参数来编写 URL 例如 经典的 hello username 路线 默认情况下 hello Fabien将匹配此路线 但不匹配 hello Fabien Kris 我想问你如何在 Slim 3 框架中做到这一点
  • 为正则表达式编写解析器

    即使经过多年的编程 我很羞愧地说我从未真正完全掌握正则表达式 一般来说 当问题需要正则表达式时 我通常可以 在一堆引用语法之后 想出一个合适的正则表达式 但我发现自己越来越频繁地使用这种技术 所以 自学并理解正则表达式properly 我决
  • RegularExpressionValidator.ValidationExpression 强制长度为 10 或 12 个符号

    RegularExpressionValidator ValidationExpression d 10 仅表示数字 最多 10 位 RegularExpressionValidator ValidationExpression d 10
  • Grep 和 Python

    我需要一种通过 Unix 命令行中的正则表达式使用 grep 搜索文件的方法 例如 当我在命令行中输入 python pythonfile py RE file to be searched 我需要正则表达式 RE 在文件中搜索并打印出匹配
  • 从 html 属性中删除单引号和双引号,并且除 href 和 src 之外的所有属性上都没有空格

    我正在尝试从 html 属性中删除单引号和双引号 这些属性是没有空格的单个单词 我写了这个有效的正则表达式 type title data toggle colspan scope role media name rel id class
  • 正则表达式查找字符串中的整数和小数

    我有一个像这样的字符串 str1 12 ounces str2 1 5 ounces chopped 我想从字符串中获取金额 无论它是否是小数 12 或 1 5 然后获取紧邻的前一个测量值 盎司 我能够使用一个非常基本的正则表达式来获取测量
  • Python 非贪婪正则表达式

    我如何制作一个像这样的Python正则表达式 这样 给定 a b c d e 蟒蛇匹配 b 代替 b c d 我知道我可以使用 代替 但我正在寻找一种更通用的解决方案 使我的正则表达式更加干净 有没有办法告诉python 嘿 尽快匹配这个
  • Perl 正则表达式图灵完备吗?

    我见过 Ruby 和 Perl 程序员做了一些事情复杂的代码挑战 https codegolf stackexchange com questions 3596 regex validating regex完全用正则表达式 这前瞻和后瞻 h
  • F# 命名约定

    F 是否有 官方 命名 大小写约定 我总是怀疑是否使用 C 风格 Class MyFunctionName or Module my function name 在 F 中 您应该混合 BCL 类和 F 库类 它们具有不同的大小写 并且代码
  • 为什么这些非捕获正则表达式组不能正常工作?

    所以我花了很多时间在另一个堆栈溢出问题上 同样的问题又出现在上一个问题上 非捕获组并没有像我期望的那样工作 至少我是这么认为的 这是一个愚蠢的例子 类似于其他人的 CSS 测试字符串 这是我的正则表达式 rgb S 这是测试字符串 1px
  • 正则表达式,如果模式在引号中则忽略模式

    编写一个非常简单的脚本解析器作为学校项目的一部分 虽然这不是必需的 但我很好奇是否可以仅使用正则表达式来完成 语法类似于 ASP 其中脚本以 结尾 它只支持一个命令 pr 与echo或Response Write相同 现在我正在使用这个正则
  • 如何在 CakePHP 中“验证”人名?

    我有一个 PHP 脚本 应该检查 有效 的人名 但最近破解了带有空格的名称 因此我们向验证器添加了空格 除了这样做之外 有没有办法向 CakePHP 的验证器添加黑名单以阻止所有 无效 字符 而不是允许 有效 字符 注意 我 通常 知道如何
  • Python 中的 grep 等价物是什么?

    假设我有一个文本文件 其中包含 我喜欢大象 这一行 如果我捕获所述文件并将其通过管道发送到 grep大象 我会得到整行 我喜欢大象 如何使用 re 在 Python 中实现此功能 我一直在尝试以下方法 test re search elep
  • 匹配所有有效格式 IPv6 地址的正则表达式

    乍一看 我承认这个问题看起来像是这个问题以及与之相关的任何其他问题的重复 匹配有效 IPv6 地址的正则表达式 https stackoverflow com questions 53497 regular expression that
  • 为什么 re.findall 在查找字符串中的三元组项时不具体。 Python

    所以我有四行代码 seq ATGGAAGTTGGATGAAAGTGGAGGTAAAGAGAAGACGTTTGA OR 0 re findall r ATG 9 TAA TAG TGA seq 首先让我解释一下我正在尝试做什么 如果这令人困惑
  • python中有没有一种方法可以将存储在列表中的正则表达式模式列表应用到单个字符串?

    我有一个正则表达式模式列表 存储在列表类型中 我想将其应用于字符串 有谁知道一个好方法 将列表中的每个正则表达式模式应用于字符串 和 如果匹配 则调用与列表中该模式关联的不同函数 如果可能的话我想用 python 来做这件事 提前致谢 im

随机推荐

  • 将 timedelta 对象转换为时间对象

    当从我的数据库中获取包含时间 ex 15 15 15 h m s 的行时 我在 timedelta 对象中获取它们 我希望它们在 time 对象中 以便稍后我可以将它们与日期对象组合并获取日期时间对象 for row in results
  • 无法通过XAMPP和phpMyAdmin访问MySQL

    我正在使用 XAMPP 并且尝试通过访问 phpMyAdminhttp localhost phpmyadmin 但我收到此错误消息 Error SQL query SHOW PLUGINS MySQL said 1 Can t creat
  • android 中的 kitkat 版本中的 Sharedpreferences 问题

    您好 在我的应用程序中 我接受用户的密码并将其存储在共享首选项中 而且 我提供了密码开 关功能 如果用户选中 应用程序将要求用户在每次启动时输入密码 并在选中 关闭 按钮时关闭 在 android 的 ICS Jellybean 版本及以下
  • 具有多个项目的开发机器上的 Redis 数据库

    当其中一些项目使用 Redis 数据库时 您如何管理开发和 或测试机器上的多个项目 有两个主要问题 Redis 没有命名数据库 只有数字 0 16 测试可能会在每次运行时执行 FLUSHDB 现在 我认为我们有三个选择 为每个项目 每个开发
  • 如何在Android的不同应用程序中使用广播接收器?

    我在 Eclipse 的两个不同项目中有两个应用程序 一个应用程序 A 定义首先启动的活动 A1 然后我从这个活动开始第二个项目 B 中的第二个活动 B1 这很好用 我通过以下方式启动它 Intent intent new Intent p
  • 使用 Android Nougat 打开图库中的图像

    我想在 Android Nougat 上打开图库中保存的图像 但我得到的是一个黑色的图库页面 并显示消息 无法加载照片 这是我的代码 Manifest
  • 未捕获的引用错误:纬度未定义[重复]

    这个问题在这里已经有答案了 可能的重复 JavaScript 变量作用域 https stackoverflow com questions 500431 javascript variable scope 我的脚本有问题 我想从 pos
  • 优雅地退出node.js

    我正在阅读这本优秀的在线书籍http nodebeginner org http nodebeginner org 并尝试简单的代码 var http require http function onRequest request resp
  • 如何从Python调用scala?

    我想在 Scala 中构建我的项目 然后在 Python 脚本中使用它来进行数据黑客攻击 作为模块或类似的东西 我已经看到有多种方法可以使用 Jython 将 python 代码集成到 JVM 语言中 尽管只有 Python 2 项目 但我
  • 想要使用 ActionSherlockBar 添加选项卡

    我想用 ActionSherlockBar 添加选项卡所以我使用了一些代码 资源 https stackoverflow com questions 13640512 android actionbar sherlock with tabs
  • Graphviz 未在 jupyter 笔记本 python = 3.6 中运行?

    我正在尝试运行 graphviz 以查看 jupyter 笔记本上的点文件 其中已导入 dot exe 路径的路径 G anaconda3 envs tensorflowgpu Library bin graphviz G anaconda
  • 将数据帧随机分成 n 个相等的部分

    假设我有一个不同行数的数据帧列表 AB df data frame replicate 2 sample 0 130 201 rep TRUE BC df data frame replicate 2 sample 0 130 200 re
  • ASP.NET 路由是否可用于为 .ashx (IHttpHander) 处理程序创建“干净”的 URL?

    我有一些使用普通旧式的 REST 服务IHttpHandlers 我想生成更清晰的 URL 这样路径中就没有 ashx 有没有办法使用 ASP NET 路由来创建映射到 ashx 处理程序的路由 我以前见过这些类型的路线 Route to
  • 如何在sql中选择连续日期

    是否有任何函数可以检查连续日期 我在处理以下问题时遇到问题 我的桌子上有一个datetime包含以下数据的列 2015 03 11 2015 03 12 2015 03 13 2015 03 16 指定开始日期为2015 3 11和结束日期
  • FireBase API 是否有未缩小的 JavaScript 版本?

    我正在为通过 FireBase 提供 API 的设备开发一个界面 但我没有使用 Java JavaScript 或 FireBase 提供的库的任何其他语言 我正在使用 Lua 虽然我可以轻松实现 REST API 但我希望能够使用 Fir
  • Google APIs Explorer 未从我的应用程序引擎应用程序中找到可用的 ApiMethod

    我有一个可以正常编译的 App Engine 应用程序 我使用本地主机上的 Google Apis Explorer 测试方法调用 https developers google com apis explorer base http lo
  • 临时表在同一连接池上的多个请求中是否唯一?

    我有以下存储过程 它使用临时表批量导入数据 我知道临时表对于每个会话都是唯一的 但是我想知道我的应用程序是否使用线程并向存储过程发出多个并发请求 使用应用程序池中的相同 sql 连接 它们最终会引用相同的临时表吗 CREATE PROCED
  • Rhino - 将 javascript 对象传递给 java

    我对 Rhino 很陌生 我的问题是如何实现以下目标 假设我有一个 javascript 对象 它遵循如下所示的内容 我可以在 java 中使用它 var myObject new Object myObject string1 Hello
  • 没有jquery的自定义滚动条

    我正在寻找一个无需 jquery 即可工作的自定义滚动条 我不能使用 jquery 因为其他东西也是无 jquery 的 并且它针对快速加载进行了优化 将不胜感激与我分享的任何想法 NONNNNN 如果您不想使用 jQuery 您可以随时尝
  • 正则表达式正在抓取前面的字符

    所以我在正则表达式中遇到了一些不一致的行为 我的正则表达式 lt test 输入字符串 test exe c echo teststring gt test teststring 当我运行这个时https Regex101 com http