regex 正则表达式,用于查找以子字符串而不是其他子字符串开头的子字符串

4nkexdtk  于 11个月前  发布在  其他
关注(0)|答案(1)|浏览(63)

我正在尝试解析代码以找到函数t('phrase to translate')的所有调用。正则表达式/(?<=t\((['"]))(.*?)(?=\s*\1\))/gi工作正常,但它也可以找到像get('something to get')这样的函数。我如何排除所有不只是以t(开头的匹配?

up9lanfz

up9lanfz1#

只需在正则表达式中的t之前放置一个单词结束标记\b

const good = "t('phrase to translate')";
const bad = "get('something to get')";
const regex = /(?<=\bt\((['"]))(.*?)(?=\s*\1\))/gi;

console.log(good.match(regex), bad.match(regex));

// returns:
// [
//   "phrase to translate"
// ] null

字符串

相关问题