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

需求:实现符合特定规则的R转大写文本框功能

实现文本框的R转换功能

核心思路

通过正则表达式精准定位需要转换的单个R/r:排除文本首字母的R,同时跳过连续出现的R序列,仅将符合条件的单个R/r转为大写R。

代码实现(以JavaScript为例)

假设你使用的是前端文本框(input或textarea),可以通过监听输入事件实时处理文本:

// 获取目标文本框元素
const textBox = document.getElementById('target-textbox');

// 定义文本转换逻辑
function transformText(text) {
  // 正则匹配:非首字母、非连续的单个R/r
  return text.replace(/(?<!^)(?<!([Rr]))[Rr](?!([Rr]))/g, 'R');
}

// 绑定输入事件,实时应用转换
textBox.addEventListener('input', function() {
  this.value = transformText(this.value);
});

正则规则拆解

  • (?<!^):负向断言,确保匹配的字符不是文本的第一个字符(满足规则1)
  • (?<!([Rr])):负向断言,确保匹配字符的前一位不是R或r(避免连续R的前一个字符)
  • [Rr]:匹配任意大小写的单个R字符
  • (?!([Rr])):负向断言,确保匹配字符的后一位不是R或r(避免连续R的后一个字符)
  • /g:全局匹配标记,处理文本中所有符合条件的字符

测试验证

  • 输入:r example rR test R → 转换后:r example rR test R(首字母r保留,连续rR保留,单个大写R不变)
  • 输入:hello r world rr foo → 转换后:hello R world rr foo(单个r转大写,连续rr保留)
  • 输入:R and r and rr → 转换后:R and R and rr(首字母R保留,单个r转大写,连续rr保留)

内容的提问来源于stack exchange,提问作者Kevin Freitas

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 10:30:52