如何在同一正则表达式中使用捕获的组

2024-04-09

mFoo = foo;
mBar = bar;
// convert to
this.foo = foo;
this.bar = bar;

如何使用正则表达式来处理这种替换?请帮忙。这是我在Android Studio(IntelliJ IDEA)中使用的方法Edit -> Find -> Replace in Path

Text to find: m([A-Z])([A-Za-z0-9]+) = L$1$2
Replace with: this\.L$1$2 = L$1$2

Update

L上面是一个错字。它应该是\L根据JetBrains 的文档 https://www.jetbrains.com/idea/help/finding-and-replacing-text-in-file.html


您可以使用带有反向引用的模式并将“=”后的最后一个单词分组:

要查找的文本:

m([A-Z])([A-Za-z0-9]+) = (L\1\2)

用。。。来代替:

这个.L$1$2 = $3

在您发表评论后,我了解到您也有小写/大写字符的问题。所以尝试这个模式(我还简化了正则表达式):

m(\p{Alpha})(\w+) = (((?i)\1)\2)

和这个替换字符串:

this\.L$1$2 = $3

因此,以您的输入文本示例为例:

mContext = context

你得到这个:

this.LContext = context

我不知道您的文本/替换字符串中指定的“L”是否是您的拼写错误或其他错误,但如果是这样,您可以按以下方式更改“替换字符串”:

this\.$3 = $3

所以你可以获得这个:

this.context = context

如果这对您有帮助,请告诉我!

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

如何在同一正则表达式中使用捕获的组 的相关文章

  • 标记(lex?parse?)正则表达式

    使用 Ruby 我想获取一个 Regexp 对象 或表示有效正则表达式的字符串 您的选择 并将其标记化 以便我可以操作某些部分 具体来说 我想采用这样的正则表达式 字符串 regex var w parts foo bar 并创建一个替换字
  • 如何使用斯坦福TokensRegex?

    我正在尝试使用斯坦福大学TokensRegex 但是 我在匹配器行中遇到错误 请参阅注释 它说 请尽力帮助我 下面是我的代码 String file A store has many branches A manager may manag
  • Android Studio“无法解析符号 R”但项目编译并运行

    Android Studio 在所有 java 文件中显示为红色 无法解析符号 R 但项目可以编译并运行 我已经尝试过这里的所有解决方案 Android Studio 无法解析符号 但项目可以编译并运行 https stackoverflo
  • 用于匹配字符的正则表达式,但当它包含在方括号中时则不匹配

    输入字符串 Wsg Fs A A A Cgbs Sg7 Wwg s Fs A A Afk Cgbs Sg7 所需的输出是一个字符串数组 Wsg Fs A A A Cgbs Sg7 Wwg s Fs A A Afk Cgbs Sg7 如果我将
  • 正则表达式会减慢程序速度

    我正在尝试创建一个程序来解析游戏聊天日志中的数据 到目前为止 我已经设法让程序运行并解析我想要的数据 但我的问题是程序变得越来越慢 目前解析 10MB 文本文件需要 5 秒 我注意到如果我将 RegexOptions Compiled 添加
  • Grails 项目 - Servlet 调用 - ClassNotFoundException:javax.servlet.AsyncContext

    我在用 IntelliJ IDEA 终极版 12 4 grails 2 2 0 BuildConfig groovy 文件中的 grails servlet version 2 5 并实现了简单的 servlet post 请求 使用 RE
  • 仅在大括号外的空格上分割字符串

    我是正则表达式新手 我需要一些帮助 我阅读了一些与此问题类似的主题 但我不知道如何解决它 我需要在不在一对大括号内的每个空格上分割一个字符串 大括号外的连续空格应被视为单个空格 TEST test test test test test t
  • 正则表达式不等于字符串

    我用正则表达式用头撞墙 我正在尝试定义一个表达式 该表达式完全排除此文本 System 不区分大小写 但可以包含 系统 这个词提供的不仅仅是这个 例子 系统 无效 系统 无效 系统 无效 系统 无效 asd 系统 有效 asd 系统 asd
  • 正则表达式字符串中第一个和最后一个非点的位置

    我希望找到字符串的第一个和最后一个非点元素的位置 理想情况下我想这样做regex在基地R 我已经写过R解决问题的代码 不过 我对一个感兴趣regex解决方案 感谢您的任何建议 这是一个示例数据集和R代码以获得所需的结果 此代码拆分字符串并使
  • 如何将Visual C++库导入到Android Studio项目中?

    我在 Visual Studio 2017 中为 iOS UWP 和 Android 创建了一个共享的 Visual C 跨平台移动库 我成功地为该库创建了一个 Windows RT 组件包装器 以便在 C UWP 中使用 我删除了 iOS
  • Java文件有一个红色圆圈,里面有J(android studio)[重复]

    这个问题在这里已经有答案了 我从 GitHub 下载了一个项目 我和一个朋友正在其中工作 一切工作正常 突然 Java 文件图标上出现一个带有 J 的红色圆圈 并且运行应用程序按钮变为灰色 请帮我 I hope you have alrea
  • 警告:找不到父级 tsconfig.json

    我想修复警告 警告 找不到父级 tsconfig json 在打字稿中Errors tab in IntelliJ IDEA 2016 3 我的 TypeScript 代码位于src目录和我的 TypeScript 输出将是lib正如预期的
  • 使用先前的反向引用作为命名捕获组的名称

    有没有办法使用对先前捕获组的反向引用作为捕获组的名称命名捕获组 这可能不可能 如果不可能 那么这就是一个有效的答案 下列 data description some description preg match data matches p
  • 正则表达式匹配整个单词[重复]

    这个问题在这里已经有答案了 我在 stackoverflow 上看到了很多关于使用正则表达式进行全词匹配的例子 我有以下情况 我想用 www xyz com 替换 www abc com string RetVal I am going t
  • Android Studio:未找到 Gradle DSL 方法:“classpath()”

    首先 我已阅读所有其他解决方案帖子以及有关迁移到 1 0 的官方文档 到目前为止 还没有任何效果 Error Error 23 0 Gradle DSL method not found classpath Possible causes
  • IntelliJ - 调试模式 - 在程序内存中搜索文本

    我正在与无证的第三方库合作 我知道有一定的String存储在库深处的某个字段中的某处 我可以预测的动态值 但我想从库的 API 中获取它 有没有一种方法可以通过以下方式进行搜索 类似于全文搜索 full程序内存处于调试模式并在某个断点处停止
  • 您的 Android SDK 丢失、过期或损坏

    I tried to install android studio after installing Java SE 9 version an get this error 文件 gt 设置 gt Android SDK gt 你可以看到
  • shell中如何分割字符串

    我有一个变量作为 string ABC400p2q4 我怎样才能分开ABC400 and p2q4 我需要将它分成两个变量 结果我得到 echo var1 ABC400 echo var2 p2q4 可以用任何字母字符代替 ABC 可以用任
  • Android studio - 如何查找哪个库正在使用危险权限?

    我正在尝试将 apk 上传到 google play 商店 但令我惊讶的是 我正在使用以下权限 Your APK is using permissions that require a privacy policy android perm
  • 在python中,如何仅搜索所选子字符串之前的一个单词

    给定文本文件中的长行列表 我只想返回紧邻其前面的子字符串 例如单词狗 描述狗的单词 例如 假设有这些行包含狗 hotdog big dog is dogged dog spy with my dog brown dogs 在这种情况下 期望

随机推荐