You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Perl正则表达式提取字符串中的多个用户名并保存到数组

提取字符串中的用户名并保存到数组

方法1:正则表达式匹配

利用正则精准匹配目标字段后的用户名,适合格式相对固定的场景:

const str = "id:123,createdby:'testuser1',\"lastmodifiedby\":'testuser2'.....";
const usernameRegex = /(createdby|lastmodifiedby):'([^']+)'/g;
const usernames = [];
let matchResult;

// 循环获取所有匹配项
while ((matchResult = usernameRegex.exec(str)) !== null) {
  usernames.push(matchResult[2]);
}

console.log(usernames); // 输出: ['testuser1', 'testuser2']

正则说明:(createdby|lastmodifiedby)匹配目标字段,'([^']+)'匹配单引号包裹的用户名([^']+表示匹配任意非单引号字符),通过exec循环捕获所有符合条件的用户名。

方法2:字符串分割+筛选处理

如果字符串格式稳定,也可以通过分割和筛选操作提取:

const str = "id:123,createdby:'testuser1',\"lastmodifiedby\":'testuser2'.....";
const usernames = str.split(',')
  // 筛选包含目标字段的项
  .filter(item => item.includes('createdby') || item.includes('lastmodifiedby'))
  // 提取用户名部分
  .map(item => {
    const value = item.split(':')[1];
    return value.slice(1, -1); // 去除前后的单引号
  });

console.log(usernames); // 输出: ['testuser1', 'testuser2']

步骤说明:先按逗号拆分字符串为数组,筛选出包含createdby或lastmodifiedby的元素,再拆分键值对,最后去掉值的单引号得到用户名。

内容的提问来源于stack exchange,提问作者sai saran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 11:45:27