【发布时间】:2012-10-12 04:12:53
【问题描述】:
我想使用正则表达式来解决以下问题:
SOME_RANDOM_TEXT
应转换为:
someRandomText
所以,_(any char) 应该只替换为大写字母。我发现了类似的东西,使用tool:
_\w and $&
如何仅从替换中获取第二个字母?有什么建议吗?谢谢。
【问题讨论】:
-
有些语言有允许你修改反向引用的标志(例如,\u 将相邻的反向引用转换为小写),我不知道你在java中是否有这个
-
如果正则表达式是一个选项,您将在正则表达式中使用
_([A-Za-z])或_(\p{L}),在替换字符串中使用$1。括号捕获组 #1 中的字母(假设它是第一组括号),$1在替换字符串中充当该组的占位符。 (\w不正确,因为它除了匹配字母之外还匹配数字和下划线,\p{L}比[A-Za-z]更正确,因为它匹配 Unicode 字母,而不仅仅是 ASCII。)