gpt4 book ai didi

javascript - 从复杂字符串中提取文本

转载 作者:行者123 更新时间:2023-11-30 13:50:34 24 4
gpt4 key购买 nike

我的字符串包含

str = "它是一个测试字符串@[test_u](89) 和@[test_v](91),让我们试试吧。"

我正在提取

用户名 = str.match(/([^"@\[])[^@\[]+?(?=\]\([1-9]+[0-9]*\))+/g);//["test_u","test_v"]

我需要以类似的方式提取 id,并且需要 ["89", "91"]

我有不完整的正则表达式 ids = str.match(/([^"(])[^@\(]+?(?=\))+/g);

请建议用于提取 ID 的正则表达式。

谢谢

最佳答案

您可以使用捕获组来提取它们:

var rx = /@\[([^\][]+)]\((\d+)\)/g;
var s = "Its a test string @[test_u](89) and @[test_v](91), lets try it."
var keys=[],ids=[], m;
while (m = rx.exec(s)) {
keys.push(m[1]);
ids.push(m[2]);
}
console.log(keys);
console.log(ids)

参见 regex demo .它匹配:

  • @\[ - @[ 字符序列
  • ([^\][]+) - 第 1 组:][
  • 以外的任何一个或多个字符>
  • ]\( - 一个 ]( 子串
  • (\d+) - 第 2 组:一个或多个数字
  • \) - ) 字符。

关于javascript - 从复杂字符串中提取文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58344221/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com