javascript - 使用正则表达式匹配字符串中的键和值

标签 javascript regex

我正在尝试找出如何匹配此字符串中的模式:

"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 的 indexOfsubstring 函数解决了这个问题,但似乎无法使用正则表达式找出答案的模式。该解决方案应该适用于所有颜色,包括第一个和最后一个颜色。

最佳答案

| 处分割字符串会更简单:

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/

相关文章:

javascript结合多个正则表达式

javascript - Chrome 扩展 : Storing variables for a tab even if page changes

javascript - CouchDB 文档中的求和值

javascript - jquery CODEIGNITER 的依赖下拉列表以前的选择不会消失

regex - 正则表达式 rel 标签

java - 正则表达式修改xpath表达式

sql - Snowflake - 检查字符串是否为字母数字?

php - 创建将匹配字符串中的要求的正则表达式

javascript - 使用内容脚本定义全局变量

javascript - 不操纵浏览器扩展的 DOM 值