Javascript 正则表达式查找 _ 和 - 之间的字符串

标签 javascript regex

我正在尝试计算正则表达式以获得 en字符串的一部分 word_en-gb

我正在使用 .match();例如

var string = "word_en-gb";
string.match(/(?<=\_)(.*?)(?=\-)/);

(?<=\_)(.*?)(?=\-)regex101.com 上工作但是当我在我的代码中使用它时,我得到错误 Uncaught SyntaxError: Invalid regular expression: /(?<=_)(.*?)(?=-)/: Invalid group

\_(.*?)\-匹配 regex101 但生成 _en-,en

最佳答案

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

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

或否定:

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

关于Javascript 正则表达式查找 _ 和 - 之间的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30648538/

相关文章:

javascript - 动态地将图像从文件夹添加到网站

c# - JavaScript 正则表达式构造

javascript - 在 JavaScript 中使用 REGEX 分割字符串

php - PHP 正则表达式模式中需要额外的反斜杠

regex - 使用replaceMatchesInString循环

java regex - 查找所有元素

javascript - 为 flatlist 的所有项目创建一个状态数组。 ( react native )

javascript - 防止页面重新加载后在复选框上触发更改事件

javascript - 剑道网格选择整行

c# - ASP.NET javascript 未执行