帮助,Javascript正则表达式
Help, Javascript regular expression
我一直在与正则表达式作斗争,如果能提供一些帮助,我将不胜感激。
获取字符串中所有参数(以@开头的单词)的最佳方法是什么:
statement : "SELECT @Measure on 0, TOPCOUNT(@Hierarchy.levels(1).member) where @Measure"
此表达式工作不正常:
var paramsNames = mdxStatement.match(/(^|'s|-)+@('w+)/g);
预期结果是:@Measure,@Hierarchy
提前感谢
使用此:
"SELECT @Measure on 0, TOPCOUNT(@Hierarchy.levels(1).member) where @Measure".match(/(@'w+)/g);
如果你不需要的话,去掉最后一个项目。
:)
在这种情况下,您将使用
var match = string.match(/(@'w+)/g);
就是
关于:
var paramsNames = mdxStatement.match(/(@[a-z]+)/gi);
要获取唯一参数,请执行:
var paramsNames = mdxStatement.match(/(@[a-z]+)/gi).unique();
我相信
/@'b.+?'b/g
应该做你想做的
Array.prototype.unique = function() {
var o = {}, i, l = this.length, r = [];
for(i=0; i<l;i+=1) o[this[i]] = this[i];
for(i in o) r.push(o[i]);
return r;
};
var string = "SELECT @Measure on 0, TOPCOUNT(@Hierarchy.levels(1).member) where @Measure";
var pattern = /@'b.+?'b/g;
var params = string.match(pattern).unique();
演示http://jsfiddle.net/gaby/se7Np/1/
相关文章:
- java.net和javascript之间正则表达式的差异
- Grunt匹配正则表达式
- 不同浏览器中的空白字符正则表达式行为
- 正则表达式在字符串中找到base64
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 调用正则表达式匹配的函数
- 使用正则表达式评估电子邮件地址时出现性能问题
- Javascript 正则表达式 : ^[^/s/]+[a-z]{1,}[0-9]*[-_]*[^/][
- JavaScript正则表达式文本与RegExp对象
- 正则表达式只允许 x 个整数
- 使用正则表达式将输入格式设置为单字符逗号、单字符逗号等
- 改进用于验证付款金额的正则表达式
- 正则表达式与数字中的第二个点匹配
- 键按正则表达式以查找具有负值的小数
- 一个正则表达式,用于从JS中的HTML标记中删除id、样式和类属性
- 将po-box javascript正则表达式转换为c#regex
- 在mongoose中使用正则表达式在对象数组中进行查询搜索
- 使用正则表达式捕获“”并分割成阵列
- 将这些正则表达式从javascript转换为Java
- 用于验证JS中逻辑运算符表达式的正则表达式