regex.replace 查询字符串参数

2024-06-02

我不知道这是否可能,我有以下正则表达式 (?

string sTest = "test.aspx?width=100&height=200&";
            ltTest.Text = Regex.Replace(sTest, @"(?<=[\?|\&])(?<key>[^\?=\&\#]+)=?(?<value>[^\?=\&\#]*)&",
                                                "< div style='width:$2px; height:$2px; border:solid 1px red;'>asdf</div>");

这正在生成:

test.aspx?<div style='width:100px; height:100px; border:solid 1px red;'>asdf</div><div style='width:200px; height:200px; border:solid 1px red;'>asdf</div>

有任何想法吗?

提前致谢!


首先,.net 有更好的方法来处理您的问题。考虑HttpUtility.ParseQueryString http://msdn.microsoft.com/en-us/library/ms150046.aspx:

string urlParameters = "width=100&height=200";
NameValueCollection parameters = HttpUtility.ParseQueryString(urlParameters);
s = String.Format("<div style='width:{0}px; height:{1}px;'>asdf</div>",
                   parameters["width"], parameters["height"]);

这可以帮助你逃脱,所以这是一个更好的选择。


接下来的问题是,您的代码失败是因为您使用了错误的代码。你正在寻找成对的key=value, and 更换每一对 with <div width={value} height={value}>。因此,您最终会得到许多 DIV 作为值。
例如,您应该进行更精确的匹配(添加一些检查):

string width = Regex.Match(s, @"width=(\d+)").Groups[1].Value;
string height = Regex.Match(s, @"height=(\d+)").Groups[1].Value;
s = String.Format("<div style='width:{0}px; height:{1}px;'>asdf</div>",
                   width, height);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

regex.replace 查询字符串参数 的相关文章

  • 使用Physics.Raycast 和Physics2D.Raycast 检测对象上的点击

    我的场景中有一个空的游戏对象 带有 2D 组件盒碰撞器 我将脚本附加到该游戏对象 void OnMouseDown Debug Log clic 但是当我点击我的游戏对象时 没有任何效果 你有什么想法 如何检测我的盒子碰撞器上的点击 使用光
  • Unix网络编程澄清

    我正在翻阅这本经典书籍Unix网络编程 https rads stackoverflow com amzn click com 0139498761 当我偶然发现这个程序时 第 6 8 节 第 179 180 页 include unp h
  • 推导指南中的引用和值之间的差异

    考虑类型A template
  • 在R中提取其他两个字符串之间的字符串

    我试图找到一种简单的方法来提取出现在两个已知子字符串之间的未知子字符串 可以是任何内容 例如 我有一个字符串 a lt anything goes here STR1 GET ME STR2 anything goes here 我需要提取
  • 为什么在线解析器似乎停在正则表达式处?

    我一直想知道为什么似乎没有任何解析器 比如说 BNF http en wikipedia org wiki Backus E2 80 93Naur Form 其行为类似于各种库中的正则表达式 当然 还有类似的事情ANTLR http www
  • ( 后的正则表达式匹配数

    我正在尝试使用正则表达式来匹配开括号 字符后的可变长度的数字 我努力了 d 但该正则表达式在匹配中包含括号 我该如何排除它 我正在使用 Sublime Text 正则表达式引擎来进行匹配 您可以使用积极的后视 http www regula
  • 读取文件特定行号的有效方法。 (奖励:Python 手册印刷错误)

    我有一个 100 GB 的文本文件 它是来自数据库的 BCP 转储 当我尝试导入它时BULK INSERT 我在第 219506324 行上收到一个神秘错误 在解决此问题之前 我想看看这一行 但可惜的是我最喜欢的方法 import line
  • 存储来自其他程序的事件

    我想将其他应用程序的事件存储在我自己的应用程序中 事件示例 打开 最小化 Word 或打开文件时 这样的事可能吗 运行程序 http msdn microsoft com en us library ms813609 aspx and 打开
  • 使用 C 语言使用 strftime() 获取缩写时区

    我看过this https stackoverflow com questions 34408909 how to get abbreviated timezone and this https stackoverflow com ques
  • 在一个字节中存储 4 个不同的值

    我有一个任务要做 但我不知道从哪里开始 我不期待也绝对不想要代码中的答案 我想要一些关于该怎么做的指导 因为我感到有点失落 将变量打包和解包到一个字节中 您需要在一个字节中存储 4 个不同的值 这些值为 NAME RANGE BITS en
  • C++:.bmp 到文件中的字节数组

    是的 我已经解决了与此相关的其他问题 但我发现它们没有太大帮助 他们提供了一些帮助 但我仍然有点困惑 所以这是我需要做的 我们有一个 132x65 的屏幕 我有一个 132x65 的 bmp 我想遍历 bmp 并将其分成小的 1x8 列以获
  • Visual Studio 中的测试单独成功,但一组失败

    当我在 Visual Studio 中单独运行测试时 它们都顺利通过 然而 当我同时运行所有这些时 有些通过 有些失败 我尝试在每个测试方法之间暂停 1 秒 但没有成功 有任何想法吗 在此先感谢您的帮助 你们可能有一些共享数据 检查正在使用
  • 上下文敏感与歧义

    我对上下文敏感性和歧义如何相互影响感到困惑 我认为正确的是 歧义 歧义语法会导致使用左推导或右推导构建多个解析树 所有可能的语法都是二义性的语言是二义性语言 例如 C 是一种不明确的语言 因为 x y 总是可以表示两个不同的事物 如下所述
  • 等待线程完成

    private void button1 Click object sender EventArgs e for int i 0 i lt 15 i Thread nova new Thread Method nova Start list
  • (de)从 CSV 序列化为对象(或者最好是类型对象的列表)

    我是一名 C 程序员 试图学习 C 似乎有一些内置的对象序列化 但我在这里有点不知所措 我被要求将测试数据从 CSV 文件加载到对象集合中 CSV 比 xml 更受青睐 因为它更简单且更易于人类阅读 我们正在创建测试数据来运行单元测试 该集
  • 有没有办法强制显示工具提示?

    我有一个验证字段的方法 如果无法验证 该字段将被清除并标记为红色 我还希望在框上方弹出一个工具提示 并向用户显示该值无效的消息 有没有办法做到这一点 并且可以控制工具提示显示的时间 我怎样才能让它自己弹出而不是鼠标悬停时弹出 If the
  • memset 未填充数组

    u32 iterations 5 u32 ecx u32 malloc sizeof u32 iterations memset ecx 0xBAADF00D sizeof u32 iterations printf 8X n ecx 0
  • 使用 GROUP 和 SUM 的 LINQ 查询

    请帮助我了解如何使用带有 GROUP 和 SUM 的 LINQ 进行查询 Query the database IEnumerable
  • 在客户端系统中安装后桌面应用程序无法打开

    我目前正在使用 Visual Studio 2017 和 4 6 1 net 框架 我为桌面应用程序创建了安装文件 安装程序在我的系统中完美安装并运行 问题是安装程序在其他计算机上成功安装 但应用程序无法打开 edit 在客户端系统中下载了
  • 如何正确使用 std::condition_variable?

    我很困惑conditions variables以及如何 安全 使用它们 在我的应用程序中 我有一个创建 gui 线程的类 但是当 gui 是由 gui 线程构造时 主线程需要等待 情况与下面的函数相同 主线程创建互斥体 锁和conditi

随机推荐

  • 设备内存刷新cuda

    我正在运行一个 C 程序 其中调用了两次 cuda 主机函数 我想清理这两个调用之间的设备内存 有没有办法可以刷新 GPU 设备内存 我使用的是计算能力为2 0的Tesla M2050 如果你只想将内存归零 那么cudaMemset可能是最
  • XText 对非 DSL 资源的交叉引用

    请考虑这个最小的 Xtext 语法 Model As a stackeholder Stakeholder I want want Want Stakeholder client developer manager Want everyth
  • 从命令行增加 Delphi XE 项目版本号

    我有一个 Delphi XE 项目 我试图在使用 MSBuild 构建它之前更改程序的版本号 版本号信息位于 DPROJ 文件中 但如果我更改这些值 版本号不会更改 我认为原因是当您在 IDE 中更改版本号时 Delphi 会将更改保存到
  • 何时在 C 中使用 ntohs 和 ntohl?

    我很困惑何时使用 ntohs 和 ntohl 我知道当您对 uint16 t 和 ntohl uint32 t 使用 ntohs 时 但是那些具有 unsigned int 或指定了特定位数的数据 例如 u int16 t doff 4 又
  • 如何使用 WifiEnterpriseConfig 设置“使用系统证书”

    我想为我的应用程序的用户配置企业 WiFi 网络 因此 用户必须输入用户名和密码 其余的由应用程序处理 身份验证由 RADIUS 服务器 FreeRadius 3 处理 该服务器使用 LetsEncrypt 颁发的证书 因此无需导入我自己的
  • 使用 cts:query 检查属性是否存在

    cts element query xs QName elm cts and query 将给出元素所在的所有片段elm存在 同样 如果我想要所有具有属性的文档 例如atr 存在于elm我该怎么办 cts element attribute
  • 来自给定 wsdl 文件的“java 表单生成器”

    我正在尝试用 java 开发一个表单生成器 用户可以在其中编写 wsdl url 并获取 ComboBox 中 Web 服务支持的操作列表 当用户选择 ComboBox 中的一项时 他将看到使用 wsdl url 生成的表单字段 我是 We
  • 什么是粗网格搜索和细网格搜索?

    我正在读这个答案 用于 2D 碰撞检测的四叉树的高效 且解释良好 实现 https stackoverflow com questions 41946007 efficient and well explained implementati
  • 如何在 Firefox 中使用 Selenium RC2 将鼠标悬停在 WebElement 上

    使用 Selenium 的 Firefox WebDriver 2 20 我需要显示当鼠标悬停在网页上的链接上时出现的工具提示 我尝试使用 Selenium 的 Action 类来执行此操作 但我收到 ClassCastException
  • 使用渐变填充而不是普通颜色创建标记 - Google 地图

    我正在尝试使用 Google 地图获得一个点状标记google maps SymbolPath CIRCLE 我在其中取得了成功 var dotMarkerImage path google maps SymbolPath CIRCLE f
  • 如何在 SQLite 中获取最后插入的 ID?

    SQLite 中是否有任何内置函数可以获取最后插入的行 ID 例如 在 mysql 中我们有LAST INSERT ID 这种功能 对于 sqlite 任何可用于执行相同过程的函数 请帮我 Thanks SQLite 这可以使用SQLite
  • Ansible:使用变量定义 playbook 主机

    我安装了以下版本 ansible 2 3 0 开发2131eaba0c 我想将我的主机变量指定为外部变量 然后在playbook与此类似 hosts integration In my 组变量 全部文件我有以下定义的变量 integrati
  • activeProcessorCount 和processorCount 之间有什么区别?

    The NSProcessInfo类有两个名为processorCount and activeProcessorCount 该文档对于处理核心和活动处理核心之间的区别尽可能没有帮助 或者 换句话说 什么才算是一个inactive可可的处理
  • 在 Spring Singleton 中创建新实例会导致内存泄漏吗?

    我目前正在维护一个应用程序 并注意到许多在 Spring 接线中定义为 Singleton 的对象在其方法中创建了其他对象的新实例 例如 有一个 LoginService Singleton 每次调用 login 方法时都会创建 Login
  • 我可以关闭 create-react-app 分块机制吗?

    我正在使用以下命令设置我的 React 应用程序项目create react app 我想知道是否有一种方法可以关闭内置于反应脚本中的分块机制 问题是我需要修复在构建中创建的包的名称 可以通过扩展您的 CRA 来完成react app re
  • 默认为 Visual Studio 2012 数据库项目中的 T-SQL 窗格视图

    在 Visual Studio 2012 中使用数据库项目时 当您添加或编辑表时 VS 默认使用 设计视图 窗格 虽然您可以在分屏模式下工作 但 T SQL 窗格默认为底部窗格 由于我更喜欢 直接使用 T SQL 而不是设计器 因此我不断切
  • 仅从 PDF 中提取粗体文本的最佳方法

    iTextSharp 是一个很棒的工具 我可以使用PdfTextExtractor GetTextFromPage reader iPage 它工作得很好 但是有没有办法从 pdf 中只提取粗体文本 例如标题 而不是所有内容 无论编程语言如
  • for语句中的多个条件

    我在一个函数中有这段代码 但是当它运行时 它会停顿很长时间 然后它说 floating point exception 我假设这是由于 for 循环中的多个条件造成的 但我不知道为什么这是错误的 有任何想法吗 int i j number
  • Java 中没有泛型参数的泛型方法

    在 C 中我实际上可以这样做 This is C static T SomeMethod
  • regex.replace 查询字符串参数

    我不知道这是否可能 我有以下正则表达式 string sTest test aspx width 100 height 200 ltTest Text Regex Replace sTest lt