javascript - 使用正则表达式验证自定义表达式

标签 javascript arrays regex validation npm-install

如果我有这样的字符串

${employee} and ${} should be validate

我想获取所有包含类似

模式的子字符串

${}

并验证以 ${ 和 } 开头的字符串是否必须具有值?

假设下面的字符串

  ${employee} and ${} should be validate

它应该返回两个元素的数组

[ ${员工}, ${} ]

并且在验证时它应该将第二个元素显示为无效(因为它是空白的)

为此,我尝试了以下代码

function fetchMatches(theString, theRegex){
    return theString.match(theRegex).map(function(el) {
        var index = theString.indexOf(el);
        return [index, index + el.length - 1];
    });
}
fetchMatches(" ${employee} and ${} should be validate",/(\$)(\{)(.*)(\})/i);

但它没有返回所需的输出。

各位大侠,请多多指教

最佳答案

您可以尝试更改正则表达式

/(\$)(\{)(.*)(\})/

/(\$)(\{)[^\}]+(\})/

关于javascript - 使用正则表达式验证自定义表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41220988/

相关文章:

javascript - HTML5 本地存储无法找到变量,即使 console.log 显示它

javascript - 如何在 node.js 中设置 mysql 连接以在使用无符号整数进行算术运算时抛出超出范围错误?

javascript - 如何为 html 幻灯片创建一个升序的文本/数字序列

java - 如何从 Volley 请求响应中解析大型 JsonArray

c++ - C++:旧的C风格的字符串数组存在问题(如Char **)

java - 有没有办法在正则表达式(java)中使用\p{Punct},但没有 "(",")"字符?

Javascript 密码不应包含用户的帐户名或用户全名中超过两个连续字符的部分

javascript - 替换元素中的特定文本而不影响具有相同类的元素

arrays - json和空数组

javascript - 使用正则表达式捕获演讲者姓名和评论