1

我正在尝试匹配 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+数字之类的东西来做一些事情,但一直找不到这样做的好方法。

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

我错过了一个明显的逻辑解决方案,还是有人有一个我不知道这种情况的正则表达式运算符?

4

1 回答 1

1

第一条规则中的 \d+ 是否应该匹配孤立的数字?添加边界\b\d+\b,则与a2类型不匹配。——迈克尔·伯科夫斯基12 月 6 日 2:55

于 2012-12-20T15:58:41.247 回答