gpt4 book ai didi

regex - 强制正则表达式匹配值的第一个字母为大写

转载 作者:行者123 更新时间:2023-12-01 11:32:59 27 4
gpt4 key购买 nike

我正在努力提高正则表达式。我正在使用 regex101.com。我有一个包含两个捕获组的正则表达式。然后我使用替换将我捕获的值合并到另一个位置。

例如我有一个值列表:

fat dogs 
thin cats
skinny cows
purple salamanders
etc...

这将它们捕获到两个变量中:

^([^\s]+)\s+([^\s;]+)?.*

然后我使用 $1 和 $2 将其替换为新句子。例如:

$1 animals like $2 are a result of poor genetics.

(显然这是一个愚蠢的例子)

这行得通,我说出了句子,但我很难尝试强制 $1 的第一个字母大写。我可以看到各种关于匹配大写或小写但不转换为大写的示例。

看来我需要做一些“功能”处理。我需要将 $1 传递给某个东西,然后将其分成两部分...第一个字母和所有其他字母...将第一个字母转换为大写...然后拼凑在一起并返回结果。

添加错误检查...虽然 $1 不太可能有数值,但我们仍应进行某种安全检查。

因此,如果有人能指出阅读 Material ,我将不胜感激。

最佳答案

正则表达式只会匹配那里的内容。你所做的本质上是:

  • 匹配项目
  • 显示匹配项

但是你想做的是:

  • 匹配项目
  • 修改匹配项
  • 显示修改后的匹配项

正则表达式不会对匹配项进行任何“处理”,它只是一种用于首先查找匹配项的语法。

大多数语言都有字符串处理,例如,如果你在变量 $1$2 中进行匹配,你会想要做一些类似的事情:

$1 = upper(substring($1, 0, 1)) + substring($1, 1)

假定 upper() 函数,如果您使用语言的字符串大写函数,并且 substring() 返回一个子字符串(零索引)。

关于regex - 强制正则表达式匹配值的第一个字母为大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30622567/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com