我有以下文字:
简单的问题,“你长大后想做什么?”使用 在我们年轻的时候回答很有趣。一名宇航员,一名 公主,超级英雄,精灵都是完全合理的职业 选择作为幼儿园的儿童。一旦我们老了那个问题 变得更加严重,需要更多的思考和 规划。它不再是一个有趣的主题 这个简单的问题将不再满足于随意的愚蠢 回答。他或她选择做什么与一个人的生活是困难的, 重大决定。
我想通过'选择'选择“执行”这个词。为此,我使用了以下正则表达式:
/(\bchooses do)/
但是它选择了“选择执行”这个词。如何通过选择仅选择前面的单词“执行”。
答案 0 :(得分:4)
您只能选择匹配词组的一部分,例如:/chooses (do)/
This工具可能有所帮助。
要实际替换文本,String.replace可以接受一个回调,它接收你的正则表达式匹配作为参数,所以你可以这样做:
text.replace( /chooses (do)/, function(match, group1) {
return 'chooses to ' + group1;
} );
哪会改变'鲍勃选择什么都不做''鲍勃选择什么都不做'。
答案 1 :(得分:1)
如果您想用其他内容替换单词do
,请使用更像这样的内容:
var newword = "go";
newtext = text.replace(/\bchooses do/g, "chooses " + newword);