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 +不匹配正確,因爲它們已經被數字標籤取代。
我一直在嘗試一些使用lookaheads和像[^A-Za-z]?\d+
這些數字的東西,但一直沒能找到一個好辦法。
我知道我可以匹配標籤,但想要更優雅的解決方案。
我錯過了一個明顯的邏輯解決方案,還是有人有正則表達式運算符我不知道這種情況?
第一條規則中的'\ d +'是否應該匹配孤立的數字?添加邊界'\ b \ d + \ b',那麼它將不匹配'a2'類型。 –
工作很好,謝謝。如果你把它作爲答案,我一定會接受。 –