JavaScript:正则表达式找到最后一个字

时间:2014-03-11 11:52:34

标签: javascript regex select

我有以下文字:

  

简单的问题,“你长大后想做什么?”使用   在我们年轻的时候回答很有趣。一名宇航员,一名   公主,超级英雄,精灵都是完全合理的职业   选择作为幼儿园的儿童。一旦我们老了那个问题   变得更加严重,需要更多的思考和   规划。它不再是一个有趣的主题   这个简单的问题将不再满足于随意的愚蠢   回答。他或她选择做什么与一个人的生活是困难的,   重大决定。

我想通过'选择'选择“执行”这个词。为此,我使用了以下正则表达式:
/(\bchooses do)/
但是它选择了“选择执行”这个词。如何通过选择仅选择前面的单词“执行”。

2 个答案:

答案 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);