强调camelCase RegEx

问题描述 投票:1回答:4

我们的标准已经改变了,我想在Dreamweaver中做一个“查找和替换”(它允许RegEx或我们刚刚获得Visual Studio 2010,如果它允许通过RegEx进行搜索)所有下划线和camelCase它们。

RegEx会做什么?

RegEx让我感到困惑。我当然需要做一些学习。

提前致谢!

更新:更多信息 - 我在我的html,aspx,cfm或css文档中搜索包含下划线的任何字符串,并将其替换为以下字母大写。

regex replace dreamweaver camelcasing
4个回答
2
投票

我遇到了这个问题,但我还需要处理像gap_in_cover_period_d_last_5_yr这样的字段到gapInCoverPeriodDLast,并找到10个其他sed表达式中的9个,不喜欢1个字母的单词或数字。

所以要回答这个问题,请使用sed。 sed -s相当于在vim中使用:s命令。所以下面的例子是一个命令(即sed -s /.../ gc

这似乎有效,虽然我必须运行它两次(word_a_word将在第一次传递时变为wordA_word,而第二次传递wordAWord.sed向后命令,对于我的麻瓜血来说太神奇了): -

s/\([A-Za-z0-9]\+\)_\([0-9a-z]\)/\1\U\2/gc

0
投票

我不认为有一个很好的方法来纯粹使用正则表达式。搜索_字符很简单,比如._。我应该努力找到一个带有任何东西的_,但你需要一个更强大的脚本系统来改变_后面的字符的大小写。我建议perl :)


0
投票

我有一个PHP解决方案

preg_replace("/(_)(.)/e", "strtoupper('\\2')", $str)

可能有一个更优雅的选择标准,但我想保持简单。


0
投票

我最近不得不接近你问过的类似情况。这是我在VIM中使用的正则表达式,它为我完成了这项工作:

%s/_\([a-zA-Z]\)/\u\1/g

举个例子:

this_is_a_test成为thisIsATest

© www.soinside.com 2019 - 2024. All rights reserved.