替换字符串外“”只有在使用正则表达式
崇高我在我的文件中像这样的字符串的长列表(约10万行):替换字符串外“”只有在使用正则表达式
job_title <- map["job_title"]
....
我想要做一些置换,使其像这样:
jobTitle <- map["job_title"]
,所以我只是更换_t
到T
,但我只想要左侧。
如果用T
替换_t
,你将取代_t
所有出现T
不管上下文。
你可能会尝试的是匹配所有"..."
子串并跳过它们,然后匹配_
后面的任何字母并将其转换为大写。如何匹配"..."
子串取决于转义实体是否可能出现在您的文本中。
如果不能有任何转义引号,
搜索:"[^"]*"(*SKIP)(?!)|_([A-Za-z])
更换:\u$1
如果有可以逃脱引号:
搜索:"[^"\\]*(?:\\.[^"\\]*)*"(*SKIP)(?!)|_([A-Za-z])
更换:\u$1
详细:
-
"[^"\\]*(?:\\.[^"\\]*)*"(*SKIP)(?!)
- 一个"..."
子(它匹配"
,那么任何0+字符比任何"
和\
然后0+序列等溢出字符(\\.
)后面跟除"
和\
之外的任何0+字符,然后"
),其被匹配,然后从匹配省略,并且下一个匹配当前匹配(由于(*SKIP)(?!)
) -
|
结束后搜寻 - 或 -
_
- 一个_
炭 -
([A-Za-z])
- 捕获组1:任何ASCII字母
的\u
运营商在更换使得后大写的第一个字符。 $1
代表用([a-zA-Z])
拍摄的字母。
OMG。完美地工作!谢谢Wiktor。你是天才 – iori24
。在你的情况下,没有必要正则表达式(按Ctr + H和替换所有)与
更换
job_title <
:
jobTitle <
我想你得到我的意思。如果你使用它,它会替换这两个字符串。 OMG。 – iori24
你试过了什么?请显示您尝试过的代码。 –
我不知道该怎么尝试=/ – iori24