JavaScript RegExp exec function
JavaScript RegExp exec function
我有一个输入,有人可能会输入以下模式:
属性:值
该模式可能会演变为具有一定差异的同一模式的多个实例。例如
属性因此,在上面的示例中,每个模式都可以以文字字符:值 属性 2:"值 2" 属性 3>"值 3" -属性 4:"值 4"
"-"开头,但不必如此,每个模式都可以包含 :>
属性:值属性 2
这是我最初使用的 RegExp,我尽力调整它,但最终掉进了几个兔子洞。我试图告诉它匹配直到特定的字符类,但结果很糟糕。
var findFilters = new RegExp(/-?'w+[:<>]"?[A-Za-z'S's]+"?/ig)
另外,这是我之后在我的函数中使用的内容。我正在获取每个匹配并将其作为参数传递给另一个函数。搜索术语表示用户可以键入的输入的值。
var match;
while(match = findFilters.exec(searchTerm)){
var currentFilter = match[0];
HSAddFilterParameter(currentFilter);
updatedTerm = searchTerm.replace(currentFilter,'');
}
你能用
这些字符作为分隔符来分割字符串吗: - : <> ''s ?然后一次从阵列中抓取两个。下面是一个示例:
<!DOCTYPE html>
<html>
<body>
<p id="answerswer"></p>
<script>
var foo = 'property:value property2:"value2" property3>"value3" -property4:"value4"';
arr = foo.split(/[-:<>'s]+/);
str = "";
for (i = 0; i < arr.length; i+=2) {
str = str + arr[i] + " : " + arr[i+1] + " <br>";
}
document.getElementById("answerswer").innerHTML = str;
</script>
</body>
</html>
输出:
property : value
property2 : "value2"
property3 : "value3"
property4 : "value4"
相关文章:
- 直接在函数声明上使用function.prototype.bind
- jQuery:.click(function(){(element),collapse('show',f
- 如果连接类型为none,则Javascript Function Only警报
- onLoad function phonegap android
- reducers在redux中得到Function not Object,what'it’他错了
- 从javascript regex.exec分配多个变量
- WIll window.addEventListener(“加载”,function(),false);等待浏览器自动填
- $(document).ready和jQuery(function($)不工作;jQuery已定义,但脚本尚未定义;t进
- Javascript onunload function
- 在init function()中调用getElementById(“..”),而不是想用它做点什么的函数
- spyOn:应为间谍,但得到了Function
- Node.js exec调用从不调用回调
- (typeof variable === “function”) 和 jQuery.isFunction() 有什么区别
- this内部的值返回this.each(function(){})
- 如何在JavaScript中创建类似于something.function()的函数
- 如何通过 Function.prototype.apply() 更改调用函数的参数
- 控制台中的“function floor(){[本机代码]}”是什么
- ASPX Jquery 1.11 $(Document).ready(function() {} was skipped
- Function.prototype.call和Function.protoype.all只应用一个参数
- JavaScript RegExp exec function