替换整行会导致替换文本重复出现

2024-01-02

简单的问题:为什么

"x" -replace ".*", "y"

产生“yy”?


"x" -replace ".*", "y"

相当于

[Regex]::replace("x",".*","y")

结果yy您看到的内容基于其工作原理,根据 MSDN:

在指定的输入字符串中,替换所有字符串匹配一个 具有指定替换字符串的指定正则表达式。

http://msdn.microsoft.com/en-us/library/e7f5w83z.aspx http://msdn.microsoft.com/en-us/library/e7f5w83z.aspx

替换将找到与正则表达式匹配的字符串并将其替换为给定的替换。因此,将 x 替换为 y,然后将空字符串替换为 y,然后得到yy.

这可以通过执行来验证[Regex]::matches("x",".*")- 它给出两个匹配项 - 一个用于空字符串,另一个用于 x。

就其他正则表达式引擎而言,发生这种情况的原因是g或全局标志。

这也可以在Python中验证如下(只是为了表明这不仅限于Powershell / .Net):

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

替换整行会导致替换文本重复出现 的相关文章

  • 替换 Greasemonkey 中的部分 URL

    我正在尝试使用 Greasemonkey 脚本替换 url 的一部分 但很难实现我想要做的事情 原始网址如下 http x1 example to images thumb 50 157 1571552600 jpg http x2 exa
  • 使用 Serilog 时如何在输出消息中获取丰富的属性

    我正在尝试使用 Serilog 将丰富的属性输出到渲染的消息中 private static Tester GetTester return new Tester Count 7 Name Redmond Log Logger new Lo
  • 如何在正则表达式中编写可选单词?

    我想编写一个识别以下模式的 java 正则表达式 abc def the ghi and abc def ghi 我试过这个 abc def the ghi 但是 它没有识别第二种模式 我哪里出错了 abc def the ghi 删除多余
  • 框架中有通用的交换方法吗?

    框架中是否存在这样的方法 public static void Swap
  • 如何在 TCL/EXPECT 中使用 $expect_out 分配变量?

    如果我想匹配DEF 23使用以下正则表达式 expect re DEF 0 9 set result expect out 1 string 为什么它说no such element in array 如何 expect out工作 以及我
  • 检测笔记本电脑盖子的关闭和打开

    是否可以检测笔记本电脑的盖子何时打开或关闭 从我读到的内容来看 这是不可能的 但 SO 之前已经帮助我完成了不可能的任务 我发现唯一可能朝着正确方向的事情是关于报告电源按钮所需的 IOCTL 的 MSDN 博客文章 https learn
  • sed - 删除行尾的句点

    我正在尝试删除文本文件中行尾的句点 有些行末尾有句点 有些则没有 cat textfile sometexthere 123 22 no period moretext with period lt remove this period n
  • .NET Framework 2.0 Service Pack 1 中新增的类型

    我以为 NET 2 0 SP1 中只有错误修复 没有新类型 直到我遇到few http davesbox com archive 2008 08 25 new for visual studio 2008 sp1 and fxcop 1 3
  • PostgreSQL & regexp_split_to_array + 取消嵌套

    我有这样的绳子 测试1 纽约 X 测试 2 芝加哥 Y 测试 3 宾夕法尼亚州哈里斯堡 Z 我需要的结果是 Column1 Column 2 Column3 Test 1 new york X Test 2 chicago Y Test 3
  • 为什么 Java 和 .NET 中的字符串不能是可变的?

    为什么他们决定制作String在 Java 和 NET 以及其他一些语言 中是不可变的 他们为什么不让它可变呢 根据有效的Java http www oracle com technetwork java effectivejava 136
  • 了解 C# 中的协变和逆变接口

    我在一本有关 C 的教科书中遇到过这些内容 但我很难理解它们 可能是由于缺乏上下文 对于它们是什么以及它们有什么用处 是否有一个很好的简洁解释 编辑以澄清 协变接口 interface IBibble
  • 正则表达式获取模式的最后一次出现

    我有一个字符串 我需要选择最后一次出现的模式 该字符串是 1302638400000 0 0 1302724800000 0 610 64999999999998 1302811200000 0 2266 6500000000001 130
  • 将 KeyDown 事件传递给其他控件

    我正在编写一个 C WinForms 应用程序 NET 4 0 我有一个WinFormsControl on a Form 用户开始使用键盘输入内容后 另一个Control出现 那Control是某种文本输入 我想将用户输入发送到该Cont
  • 有没有办法将对象(及其属性)序列化为 xml?

    创建一个类 将其命名为 FormElement 该类应该具有一些属性 例如它们具有数据元素的元数据 名称 序列号 值 只是一个字符串等 该类具有验证应用程序块验证类类型的属性 我想将其序列化为xml并反序列化 验证类的所有属性 包括验证应用
  • Environment.CurrentDirectory 与 System.IO.Directory.GetCurrentDirectory

    我正在编写一个 Net WinForms 并不断在调试和发布配置之间切换 并且有一些文件我需要任一配置才能访问 我想做的是将文件放在 BIN 文件夹中的公共目录中 这样它看起来像这样 MyProject Bin CommonFiles My
  • 打印“X”个字符数与“X”字符串长度的所有可能组合(暴力破解)

    我正在尝试编写一个单词组合生成器 我的意思是打印 X 个字符数与 X 字符串长度的所有可能组合 首先 我需要说的是 我在 StackOverFlow 中看到了一个关于这个问题的问题 其中有很多单词生成器的答案来执行此操作 在不同的语言上 但
  • Task.Run 作为反模式?

    我正在将 SQLite NET PCL 库用于我的 WinRT 项目SQliteAsyncConnection类 它提供经典的异步版本SQLiteConnection方法 然而 就该项目而言Github页面 https github com
  • SecurityAction.RequestMinimum 在 .Net 4.0 中已过时

    最近 我们的 Net 客户端库正在升级以针对 Net 4 0 进行编译 将目标框架更改为4 0后 应用程序出现一些编译错误 In AssemblyInfo cs assembly SecurityPermission SecurityAct
  • 为什么 0.5 mod 0.1 在不同的编程语言中结果不同?

    我有一个关于模数的问题 模运算求一个数除以另一个数的余数 我原本期望 0 5 0 1 0 的结果 但是当我在 PHP 或 net 中运行它时 我得到 0 1 我运行的 php 代码是 var dump fmod 0 5 0 1 在 net中
  • 正则表达式仅允许特定数字

    我正在寻找一个只允许输入特定数字的正则表达式 例如2 4 5 6 10 18 我尝试过类似的东西 2 4 5 6 10 18 我输入的任何内容都无法通过正则表达式 然后计算机用手指着我并大笑 我哪里出错了 单引号是不必要的 您正在寻找的正则

随机推荐

  • Python 中正整数所需的最小位长度

    1 0b1 gt 1 5 0b101 gt 3 10 0b1010 gt 4 100 0b1100100 gt 7 1000 0b1111101000 gt 10 如何获取整数的位长度 即在 Python 中表示正整数所需的位数 在 pyt
  • 如何在python中转储不带引号的json

    这是我转储文件的方法 with open es hosts json w as fp json dump join host list keys fp 结果是 a b c 我想 a b c Thanks 在进行字符串替换之前 您可能需要st
  • 将 Pentaho Reporting Web 前端与自定义 Java/JSF 应用程序集成

    我有以下情况 带有数据的 OTLP 数据库架构 数据库过程将数据泵送到具有定义的维度和事实表的非规范化星型模式中 目标是构建 Web 应用程序 它可以对那些定义的数据结构进行汇总和深入分析 我可以构建自定义 Web 界面 但我更喜欢使用现有
  • 逻辑应用程序读取存储在变量中的json属性

    我在逻辑应用程序变量中有这个 json 我想要这个 JSON 的 id 属性并进一步使用 如何获取这个id属性值 我的 JSON 是 id 1 name John bright username Lily email email prote
  • 如何在ajax响应返回的脚本标签内执行javascript

    我正在发送一个 jquery get 请求 如下所示 get this attr href this serialize null script 我期望收到的响应将包含在脚本标签中 我知道浏览器不会执行响应 除非它返回时没有脚本标记 通常我
  • 元素 中“Project”属性的值“”无效。 vs2012

    我在尝试在 Visual Studio 2012 中加载某些项目时收到以下错误 G path project csproj error The value of the Project attribute in element
  • 如何在 VS Code 上设置 AngularDart5

    我已经广泛搜索了有关如何在 Visual Studio Code 上有效设置 Angular Dart 5 的文档 但到目前为止没有发现任何结论 我已经搜索过的地方 Youtube 堆栈溢出 https webdev dartlang or
  • Maven 与查询 DSL 集成

    我正在尝试将 Maven 中的现有项目与查询 dsl 集成 我添加了如下依赖项
  • .Net Core 中的 PagedList.Core.Mvc PagedListPager Html 扩展不存在

    似乎是PagedList Core不包含 Html helper 的扩展方法 所以我无法使用下面的代码 Html PagedListPager Model page gt Url Action Index new page PagedLis
  • 加载实体时的 nhibernate 竞争条件

    我的网络应用程序中存在休眠竞争条件问题 我知道在使用旧版本的 log4net 时会发生这种情况 应该在 1 2 10 中修复 尽管我也经历过这种情况 因此 我们暂时禁用了 log4net 因为竞争条件会导致 IIS 崩溃 并且在生产中发生这
  • Bazel 的 Mingw-w64 工具链 (Ubuntu 20.04.1 )

    我正在尝试使用 Bazel 在 Ubuntu 上为 mingw w64 创建工具链 我正在关注这个教程 https docs bazel build versions master tutorial cc toolchain config
  • 按 Enter 键后调用 onChange 事件

    我是 Bootstrap 的新手 并遇到了这个问题 我有一个输入字段 只要我输入一位数字 函数就会onChange被调用 但我希望当我输入整个号码后按 Enter 时调用它 验证函数也有同样的问题 它调用得太快 var inputProce
  • 在表格视图中组合静态和原型内容

    有没有办法使用故事板将静态表格视图单元格 静态内容 与动态表格视图单元格 原型内容 结合起来 我建议您将表格视为动态表格 但在顶部包含您始终想要的单元格 在故事板中 放置一个UITableViewController并让它使用动态表 添加任
  • 使用 Robolectric 和 Mockito 测试 CursorLoader

    鉴于我正在开发一个简单的 ListFragment 在本例中 它从 MediaStore 读取艺术家列表 但稍后也会从不同的源读取数据 如下所示 EFragment public class ArtistsFragment extends
  • 如何将 SQL 查询返回值绑定到 psql 变量?

    背景 我正在写我的第一篇文章pgTAP http pgtap orgPL pgSQL 函数的测试用例 并从小处开始使用 psql 测试脚本 没有问题 但我遇到了一个小烦恼psql变量 http www postgresql org docs
  • ARM 的加载和存储字节和半字指令如何工作?签名与未签名有何作用?

    我刚刚开始学习 ARM 但无法理解加载和存储指令的确切作用 加载说明 ldrsb ldrb ldrsh ldrh ldr 店铺说明 strb strh str 有符号或无符号 加载半字 是什么意思 或者 加载字节 有符号或无符号 有符号和无
  • 2018 年底起的目标 API 级别要求

    我不知道这是否是询问以下问题的正确地方 我在 google play 开发者控制台上读到 2018 年下半年 Play 将要求新应用程序和应用程序 更新针对最新的 Android API 级别 这将需要 2018 年 8 月推出新应用程序
  • 使用 JPA 进行更新时如何排除实体字段

    有没有办法使字段在更新操作时不持久 但在使用 JPA Hibernate 4 创建操作时持久 我用这种方式尝试过 Transient Id Column name USER NAME nullable false length 75 pri
  • 在用户控件中处理画笔的更好方法是什么

    在 Paint 事件中使用新画笔是否是更好的方法 即 protected override void OnPaint PaintEventArgs e e Graphics SmoothingMode SmoothingMode AntiA
  • 替换整行会导致替换文本重复出现

    简单的问题 为什么 x replace y 产生 yy x replace y 相当于 Regex replace x y 结果yy您看到的内容基于其工作原理 根据 MSDN 在指定的输入字符串中 替换所有字符串匹配一个 具有指定替换字符串