Regex 如何使用正则表达式将单词的第一个字符转换为大写?

Regex 如何使用正则表达式将单词的第一个字符转换为大写?,regex,replace,Regex,Replace,我正在寻找一种方法,将句子中每个单词的第一个字符从小写改为大写。我已经读过这本书了,但它不起作用 我尝试使用\U将第一个字母替换为大写字母。但它返回\U作为替换,而不是第一个字母。有人可以看一下吗 提前谢谢你 如果您使用PHP进行编码,请查看以下手册: javascript 是否可以进行文本转换取决于regexp实现。大多数标准实现都基于Perl正则表达式,不支持这一点 但是,许多文本编辑器确实提供了某种转换方式,因为它们没有处理正则表达式匹配的任何其他功能。例如,链接问题中的答案涉及一个名为“

我正在寻找一种方法,将句子中每个单词的第一个字符从小写改为大写。我已经读过这本书了,但它不起作用

我尝试使用
\U
将第一个字母替换为大写字母。但它返回\U作为替换,而不是第一个字母。有人可以看一下吗


提前谢谢你

如果您使用PHP进行编码,请查看以下手册:

javascript
是否可以进行文本转换取决于regexp实现。大多数标准实现都基于Perl正则表达式,不支持这一点

但是,许多文本编辑器确实提供了某种转换方式,因为它们没有处理正则表达式匹配的任何其他功能。例如,链接问题中的答案涉及一个名为“TextPad”的编辑器。这些转换通常是非标准的,并且根据您使用的工具也可能有很大的不同。但是,当使用编程语言时,您并不真正需要将这些特性内置到正则表达式语法中,因为您可以轻松地存储匹配项并自行进行一些进一步的处理。lot语言还允许您提供一个函数,然后调用该函数来单独处理每个替换

如果您告诉我们您使用的语言,我们可能会进一步帮助您

一些例子 JavaScript:

> text = 'anleitungen gesundes wohnen';
> text.replace(/(\w+)/g, function(x) { return x[0].toUpperCase() + x.substring(1) });
'Anleitungen Gesundes Wohnen'
Python:

>>> import re
>>> text = 'anleitungen gesundes wohnen'
>>> re.sub('(\w+)', lambda x: x.group(0).capitalize(), text)
'Anleitungen Gesundes Wohnen'

$echo'xyzzy plugh dwarf'| sed's/\(\这取决于regex变量,并非所有变量都能做到这一点。因此,您将在何处/如何真正执行此操作?请指定一种语言。如果您使用的regex实现不支持执行此操作的功能(
\U
)。没有人知道你认为什么是“单词”。除非你定义它,否则没有任何东西可以帮助你。没有实用程序,没有猜测,没有任何东西,字母可以在任何非字母之后开始。非字母类非常庞大。考虑到可能有数百个正则表达式实现,至少可以说PHP是……不可能的。谢谢你。我在看ng more获取一般答案。语法错误;将转换所有字符,而不仅仅是单词的第一个字符;而且所需的大小写是大写,而不是小写。@poke抱歉,我使用的是Niels Bosma提供的插件“SEO Tools for Excel”。内置的“RegexpReplace”函数基于.Net正则表达式。谢谢您的回答,但这更像是一种最终用户问题;-)虽然.Net正则表达式支持类似的替换函数,如上面的示例所示,但恐怕您无法在该Excel函数中使用它们。然而,有一个内置的Excel函数,它可以完全满足您的需要:它将每个单词大写。该函数称为
property
GROSS2
德语)。所以你可以用
=property(“anleitungen gesundes wohnen”)
或者甚至
=property(RegexpIsFind(…)
来转换文本。我想你忘了删除“\.*”部分-请随时更新答案,这样我就可以投票了:)好吧,osx/bsd版本的sed没有\u,所以它不工作。
>>> import re
>>> text = 'anleitungen gesundes wohnen'
>>> re.sub('(\w+)', lambda x: x.group(0).capitalize(), text)
'Anleitungen Gesundes Wohnen'
$ echo 'xyzzy plugh dwarf' | sed 's/\(\<.\)\.*/\u\1/g' 
Xyzzy Plugh Dwarf