Javascript正则表达式在_和 - 之间找到字符串

时间:2015-06-04 15:53:15

标签: javascript regex

我正在尝试使用正则表达式来获取字符串en的{​​{1}}部分

我正在使用word_en-gb例如

.match();

var string = "word_en-gb"; string.match(/(?<=\_)(.*?)(?=\-)/); 适用于(?<=\_)(.*?)(?=\-),但当我在代码中使用它时,我收到错误regex101.com

Uncaught SyntaxError: Invalid regular expression: /(?<=_)(.*?)(?=-)/: Invalid group在regex101上匹配,但会生成\_(.*?)\-

1 个答案:

答案 0 :(得分:5)

Javascript正则表达式中没有Lookbehind可用。您可以使用捕获的组#1:

var string = "word_en-gb";
string.match(/_(.*?)(?=-)/);
//=> ['_en', 'en']

或否定:

string.match(/_([^-]*)/);
//=> ['_en', 'en']
相关问题