我正在试图计算出正则表达式,以得到字符串word_en-gb的word_en-gb部分
我正在使用.match();。
var string = "word_en-gb";
string.match(/(?<=\_)(.*?)(?=\-)/);这个(?<=\_)(.*?)(?=\-)在regex101.com上工作,但是当我在代码中使用它时,就会得到错误Uncaught SyntaxError: Invalid regular expression: /(?<=_)(.*?)(?=-)/: Invalid group。
和
\_(.*?)\-在regex101上匹配,但生成_en-,en
发布于 2015-06-04 15:54:18
在Javascript regex中,Lookbehind是不可用的。您可以使用捕获的组#1:
var string = "word_en-gb";
string.match(/_(.*?)(?=-)/);
//=> ['_en', 'en']或否定:
string.match(/_([^-]*)/);
//=> ['_en', 'en']https://stackoverflow.com/questions/30648538
复制相似问题