Qt Creator search/replace 编辑时使用正则表达式:强制捕获为大写
Qt Creator search/replace with regexp while editing : forcing capture to uppercase
我想用 'Lowercaseword' 替换所有出现的 'XYZ_lowercaseword',即删除前缀并将新的首字母大写。
使用 Qt Creator 正则表达式,我可以轻松搜索匹配 'XYZ_something' 的 XYZ_([a-z]) 并捕获 'something' 的 's'。如何在强制将其变为大写的同时引用替换字段中捕获的组?这样应该就够了吧?
不幸的是,至少在 Qt Creator 3.6.1 之前,没有内置功能可以做到这一点。您必须使用外部工具或修改搜索代码才能添加该功能。
通过 QString::replace
提供了对捕获组的长期支持,即您可以在替换文本中引用捕获组。
要引用捕获组 n
,请使用语法 \n
,其中 n
是一个整数。例如。在您的情况下,您将引用捕获组 1,替换为 XYZ_
。不幸的是,无法使用此语法更改大小写。
我不知道 Qt Creator,但我用 Perl 方言读过它,所以你可以试试这个
替换
XYZ_(.*)
有
\u
要在 QtCreator 中使用正则表达式组捕获,请使用高级搜索(control + shift + f)并打开使用正则表达式
搜索您的正则表达式,例如
XYZ_([a-z])([a-z])+
单击“搜索和替换”按钮
使用 \1 插入捕获的组(\2 用于组 2,等等)例如
</code></p>
<p>替换</p>
<p><code>XYZ_lowercaseword
和
lowercaseword
已在 QtCreator 3.6.1 中测试
我想用 'Lowercaseword' 替换所有出现的 'XYZ_lowercaseword',即删除前缀并将新的首字母大写。
使用 Qt Creator 正则表达式,我可以轻松搜索匹配 'XYZ_something' 的 XYZ_([a-z]) 并捕获 'something' 的 's'。如何在强制将其变为大写的同时引用替换字段中捕获的组?这样应该就够了吧?
不幸的是,至少在 Qt Creator 3.6.1 之前,没有内置功能可以做到这一点。您必须使用外部工具或修改搜索代码才能添加该功能。
通过 QString::replace
提供了对捕获组的长期支持,即您可以在替换文本中引用捕获组。
要引用捕获组 n
,请使用语法 \n
,其中 n
是一个整数。例如。在您的情况下,您将引用捕获组 1,替换为 XYZ_
。不幸的是,无法使用此语法更改大小写。
我不知道 Qt Creator,但我用 Perl 方言读过它,所以你可以试试这个
替换
XYZ_(.*)
有
\u
要在 QtCreator 中使用正则表达式组捕获,请使用高级搜索(control + shift + f)并打开使用正则表达式
搜索您的正则表达式,例如
XYZ_([a-z])([a-z])+
单击“搜索和替换”按钮
使用 \1 插入捕获的组(\2 用于组 2,等等)例如
</code></p>
<p>替换</p>
<p><code>XYZ_lowercaseword
和
lowercaseword
已在 QtCreator 3.6.1 中测试