Answers:
你可以:
查找:(\w)
替换为:\L$1
或选择文本,ctrl+ K+ L。
\U
$1\L$2\E$3
我认为这对其他人也可能很方便:
找:
([A-Z])(.*)
更换:
\L$1$2
- >将所有字母转换成$1
并$2
为小写\l$1$2
->仅将的第一个字母转换$1
为小写,而其他所有内容保持不变使用\U
和的大写字母也是如此\u
\l$1$2
只会使整个$1
在这种情况下,这里较低的情况下,因为$i
只包含一个字母。\l
=>首个字母转换为小写字母,并且\u
=>首个字母转换为大写字母。凡\U
与\I
做给所有后续字母。
\E
终止\L
或\U
序列。
在使用regex之类的进行搜索之前[A-Z]
,您应按区分大小写的按钮(或Alt+ C)(因为leemour很好地建议在接受的答案中进行编辑)。为了清楚起见,我将留下其他一些示例:
(\s)([a-z])
(\s
也匹配新行,即,“金星” =>“金星”)$1\u$2
(\s)([A-Z])
$1\l$2
([a-z])([A-Z])
$1\l$2
(\w)([A-Z]+)
$1\L$2
\L$0
(\w)([A-Z]+)
$1\U$2
(\w+)([A-Z])
\U$1$2
(\w+)([A-Z])
\L$1$2
([A-Z])(\w+)
$1\U$2
([A-Z])(\w+)
$1\L$2
([a-z\s])([A-Z])(\w)
$1\l$2\u$3
(\w)([A-Z])([a-z\s])
\u$1\l$2$3
关于问题(将至少有一个大写字母和一个小写字母的单词匹配并使其变成小写字母),leemour的comment-answer是正确的答案。为了澄清,如果只有一个组要替换,则可以只?:
在内部组中使用(即,非捕获组),或者完全避免创建它们:
((?:[a-z][A-Z]+)|(?:[A-Z]+[a-z]))
或([a-z][A-Z]+|[A-Z]+[a-z])
\L$1
泰勒建议通过编辑此答案为#4替换查找表达式:
(\B)([A-Z]+)
根据文档,\B
将查找不在单词边界处的字符(即不在开头和结尾处)。您可以使用“ 全部替换”按钮,它的作用(\w)([A-Z]+)
与查找表达式完全相同。
但是,它的缺点\B
是它不允许单个替换,这可能是由于查找的“非边界”限制(如果您知道确切原因,请进行编辑)。
正则表达式
查找:\w+
更换:\L$0
Sublime Text使用Boost库中的Perl兼容正则表达式(PCRE)引擎来增强搜索面板中的正则表达式。
\L
将所有内容转换为小写
$0
捕获组