gpt4 book ai didi

JavaScript 正则表达式用第一个字母替换单词,除非在括号内

转载 作者:行者123 更新时间:2023-11-29 10:12:56 24 4
gpt4 key购买 nike

我正在寻找 JavaScript 正则表达式,它将仅用每个单词的第一个字母替换文本 block 中的单词,但如果括号内有单词,则将它们保留在括号中。目的是创建一个助记设备,用于记住剧本或戏剧剧本中的台词。我希望将实际台词缩减为首字母,但舞台方向(括号内)保持不变。

例如:

Test test test (test). Test (test test) test test.

将产生结果:

T t t (test). T (test test) t t.

使用:

 .replace(/(\w)\w*/g,'$1')

产量:

T t t (t). T (t t) t t.

我对正则表达式的理解很差。我已经研究它好几天了,尝试了很多东西,但似乎无法找到解决方案。

最佳答案

您可以通过对正则表达式进行一些小的调整来完成此操作:

/(\w|\([^)]+\))\w*/

添加的部分 \([^)]+\) 匹配两对括号内的所有内容。

"Test test test (test). Test (test test) test test.".replace(/(\w|\([^)]+\))\w*/g,'$1')
>"T t t (test). T (test test) t t."

编辑:解决评论中提出的问题

"Test test test (test). Test (test. test.) test test. test(test) (test)test".replace(/(\w|\([^)]+)\w*/g,'$1')
>"T t t (test). T (test. test.) t t. t(test) (test)t"

关于JavaScript 正则表达式用第一个字母替换单词,除非在括号内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29463716/

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