我正在尝试找出如何匹配此字符串中的模式:
"Red|1|White|7|Blue|27|Green|56"
如您所见,数字的长度可以是 1 或 2 位数字(不能是其他数字)。
所以,如果我有这样的函数:
function GetColorNumber(sColorName){
var sSearchStr="Red|1|White|7|Blue|27|Green|56";
var sColorNum;
var sPattern;
...
return sColorNum;
}
如何在此函数中使用正则表达式返回 sColorNum(给定 sColorName)?
我已经使用 Javascript 的 indexOf
和 substring
函数解决了这个问题,但似乎无法使用正则表达式找出答案的模式。该解决方案应该适用于所有颜色,包括第一个和最后一个颜色。
最佳答案
在 |
处分割字符串会更简单:
function GetColorNumber(sColorName){
var sSearchStr="Red|1|White|7|Blue|27|Green|56";
var parts = sSearchStr.split('|');
var key = parts.indexOf(sColorName);
return parts[key+1];
}
关于javascript - 使用正则表达式匹配字符串中的键和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6478871/