gpt4 book ai didi

c# - 简单正则表达式的困难(匹配前缀/后缀)

转载 作者:行者123 更新时间:2023-11-30 19:35:12 31 4
gpt4 key购买 nike

我正在尝试开发一个将在 C# 程序中使用的正则表达式..

我最初的正则表达式是:

(?<=\()\w+(?=\))

成功匹配“(foo)”——匹配但从输出中排除开闭括号,生成简单的“foo”。

但是,如果我将正则表达式修改为:

\[(?<=\()\w+(?=\))\]

然后我尝试匹配“[(foo)]”,但匹配失败。这令人惊讶。我只是在我之前的表达式周围添加和附加文字左括号和右括号。我很难过。我使用 Expresso 来开发和测试我的表情。

在此先感谢您的帮助。

罗伯·塞西尔

最佳答案

问题出在你的回顾。以下是字符串的处理方式:

  1. 我们在字符串中看到 [,它与正则表达式匹配。
  2. 正则表达式中的后视要求我们查看前一个字符是否为“(”。这失败了,因为它是“[”。

至少我猜这就是导致问题的原因。

试试这个正则表达式:

(?<=\[\()\w+(?=\)\])

关于c# - 简单正则表达式的困难(匹配前缀/后缀),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/395928/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com