gpt4 book ai didi

regex - 正则表达式 - 匹配句子中每个单词中除第一个字母之外的所有字母

转载 作者:行者123 更新时间:2023-12-04 23:09:11 25 4
gpt4 key购买 nike

我几乎在这里得到了答案,但我遗漏了一些东西,我希望这里有人可以帮助我。

我需要一个正则表达式来匹配句子中每个单词的第一个字母以外的所有字母。然后我需要用正确数量的星号替换匹配的字母。例如,如果我有以下句子:

There is an enormous apple tree in my backyard.

我需要得到这个结果:
T**** i* a* e******* a**** t*** i* m* b*******.

我设法想出了一个几乎可以做到这一点的表达方式:
(?<=(\b[A-Za-z]))([a-z]+)

使用上面的例句,这个表达式给了我:
T* i* a* e* a* t* i* m* b*.

如何获得正确数量的星号?

谢谢你。

最佳答案

试试这个:

\B[a-z]
\B\b 相反——它匹配没有单词边界的地方——当我们看到一个字母在另一个字母之后。

您的正则表达式正在用一个星号替换单词的整个尾部 - [a-z]+ 。你应该一一替换它们。如果你想让它工作,你应该匹配一个字母,但 check is 后面有一个词(这有点毫无意义,因为你最好检查一个字母 (?<=[A-Za-z])[a-z] ):
(?<=\b[A-Za-z]+)[a-z]

(请注意,最后一个正则表达式具有可变长度的lookbehind,在大多数正则表达式中都没有实现)

关于regex - 正则表达式 - 匹配句子中每个单词中除第一个字母之外的所有字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4790375/

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