You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何调整正则replace参数实现西里尔字母转小写?

问题

我需要将文本中的拉丁字母全部转为小写,但西里尔字母(无论原本是大写还是小写)都保持大写状态。现有正则匹配规则和替换参数如下,当前结果中西里尔字母的小写部分未转换为大写,请问如何修改替换参数实现需求?

待处理文本

WWWWWWWWW
wwwwwWWWWWWWwwwwwww
wwwwwwwwwwwwww
ЫЫЫЫЫЫЫЫЫЫЫ
ыыыыыыыыЫЫЫЫЫЫЫЫЫыыыыыыыы

当前匹配规则(Find)

(\w+|[ыЁёА-я]+)

当前替换参数(Replace)

\L$1

当前结果

wwwwwwwww
wwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwww
ЫЫЫЫЫЫЫЫЫЫЫ
ыыыыыыыыЫЫЫЫЫЫЫЫЫыыыыыыыы
解决方案

修改替换参数为条件替换语法,针对匹配到的内容区分处理:如果是拉丁字母则转为小写,是西里尔字母则转为大写。替换参数如下:

(?(?=\p{Latin})\L$1|\U$1)

原理说明

  • (?(condition)true-branch|false-branch):PCRE正则的条件替换结构,满足判断条件时执行对应分支逻辑
  • (?=\p{Latin}):正向预查,判断当前捕获组内容是否为拉丁字母
  • \L$1:将捕获组内的拉丁字母转为小写
  • \U$1:将捕获组内的西里尔字母统一转为大写,覆盖原本的小写状态

修改后的预期结果

wwwwwwwww
wwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwww
ЫЫЫЫЫЫЫЫЫЫЫ
ЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫЫ

内容的提问来源于stack exchange,提问作者Comrade Che

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 14:46:00