我正在尝试解析代码以找到函数t('phrase to translate')的所有调用。正则表达式/(?<=t\((['"]))(.*?)(?=\s*\1\))/gi工作正常,但它也可以找到像get('something to get')这样的函数。我如何排除所有不只是以t(开头的匹配?
t('phrase to translate')
/(?<=t\((['"]))(.*?)(?=\s*\1\))/gi
get('something to get')
t(
up9lanfz1#
只需在正则表达式中的t之前放置一个单词结束标记\b:
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
字符串
1条答案
按热度按时间up9lanfz1#
只需在正则表达式中的
t
之前放置一个单词结束标记\b
:字符串