正则表达式匹配变量和数字

时间:2012-12-06 02:53:34

标签: javascript regex

我正在尝试匹配javascript字符串中的变量和数字(与span标记匹配)。

我遇到x1,c2等形式的变量问题。我的代码最初看起来像这样

output = output.replace(/\d+/g,"<span class=\"number\">$&</span>");
output = output.replace(/\)/g,"<span class=\"function\">$&</span>");
output = output.replace(/[a-zA-Z]+\d*/g,returnTextValue); 
//returnTextValue is a function checking whether the string is a variable or plain text
//and highlighting accordingly

这导致[a-zA-Z] + \ d +形式的变量无法正确匹配,因为它们已被数字标记替换。

我一直在尝试使用前瞻和类似[^A-Za-z]?\d+之类的东西来做一些事情,但是找不到这样做的好方法。

我知道我可以匹配标签,但想要更优雅的解决方案。

我是否错过了一个明显的逻辑解决方案,或者是否有人有一个我不知道的正则表达式运算符?

1 个答案:

答案 0 :(得分:1)

  

第一条规则中的\ d +是否应该与孤立的数字相匹配?添加边界\ b \ d + \ b,然后它将与a2类型不匹配。 - Michael Berkowski 12月6日2:55

相关问题