我想提取一个句子的最后两个单词并替换为其他单词。让我用一个例子来描述:
word1 word2 word3 word4 .... wordn-2 wordn-1 wordn
我想要的是用正则表达式替换这句话,所以我得到这样的句子:
wordn-1 wordn : word1 word2 word3 word4 .... wordn-2
我试过
^(\w)* (\w)$
要替换为
的正则表达式代码$2 : $1
但它不起作用。提前感谢您的建议。
答案 0 :(得分:1)
^(.*)\s+(\w+\s+\w+)$
可以使用:
$2 : $1
例如,在JavaScript中:
"word1 word2 word3 word4".replace(/^(.*)\s+(\w+\s+\w+)$/, "$2 : $1");
返回:
"word3 word4 : word1 word2"
答案 1 :(得分:0)
尝试:
^(.+)\b(\w+\s+\w+)$
您的正则表达式不符合以下几个原因:
(\w)*
将捕获该单词的最后一个字符,你想要写(\w*)
;并且(\w)
与空格字符不匹配; *
量词而不是+
:您的第一个群组可能是空的 - *
表示“零或更多”; (\w)
只匹配一个字符。