如何使用正则表达式获取两个特定字符串之间的字符串
How can i obtain a string between two specific strings using regex?
>我有这样的字符串,
green open calldetails 1 0 4 0 10.7kb 10.7kb
green open stocksummary 1 0 3 0 8.6kb 8.6kb
我需要从中获取库存摘要和调用详细信息。这是我尝试使用正则表达式的方法,
var result = string.match(/(?:open )(.+)(?:1)/)[1];
这是我的完整功能:
routerApp.controller("elasticindex",function($scope,es){
es.cat.indices("b",function(r,q){
String St = string.match(/(?:open )(.+)(?:1)/)[1];
console.log(r,q);
});
});
期望输出:
calldetails
stocksummary
这个不贪婪(懒惰)的正则表达式应该可以代替:
/open +(.+?) +1/
正则表达式演示
var result = string.match(/open +(.+?) +1/)[1];
或安全的方法:
var result = (string.match(/open +(.+?) +1/) || ['', ''])[1];
法典:
var re = /open +(.+?) +1/g,
matches = [],
input = "green open calldetails 1 0 4 0 10.7kb 10.7kb green open stocksummary 1 0 3 0 8.6kb 8.6kb";
while (match = re.exec(input)) matches.push(match[1]);
console.log(matches);
JsFiddle 演示
相关文章:
- jsf中两个字符串的颜色代码差异
- 可以't在JavaScript中比较两个字符串
- jQuery在两个字符串标识符之间选择HTML
- 为什么脚本标记被分解为两个字符串
- 比较Javascript中的两个字符串时出错
- RegEx以匹配字符串中的两个或多个名称
- js字符串转换为具有两个值的对象
- 在数字字符串的最后两个数字上加上小数
- 如何在javascript中使用string.replace.将匹配字符串开头的两个不同表达式替换为null
- 如何检查两个字符串是否具有相同的字符,包括特殊字符
- Javascript正则表达式来比较两个字符串
- 使用Javascript获取两个字符串之间的字符串数组
- 如何比较两个字符串并删除jquery中的元素
- 在Javascript中截断一个字符串,混淆了最后两个测试字符串
- 如何在jQuery中搜索两个字符之间的字符串
- 我可以在两个javascript文件之间传递一个字符串吗?
- 将具有两个此类子字符串的字符串中的第一个子字符串生成与正则表达式匹配,正则表达式通常默认匹配最后一个子字符串
- 使用 JavaScript 中的正则表达式替换大文本中两个字符之间的每个出现的字符串
- 如何从字符串中获取两个变量
- 如何在 javascript 中使用正则表达式在其他两个字符串之间找到一个字符串