gpt4 book ai didi

javascript - 忽略正则表达式中的数字

转载 作者:行者123 更新时间:2023-11-30 21:17:49 25 4
gpt4 key购买 nike

let str1 = 'Foo Bar (baz) Resu'
let str2 = 'Foo Bar 1234 (baz) Resu'
let pattern = /(\D+).\((.*)\).Res.*/

console.log(str1.match(pattern))
console.log(str2.match(pattern))

我 try catch (...) 之前的所有内容,除了数字(如果有的话)。我还需要 (...) 的内容。在第一种情况下,它可以正常工作。我有“Foo Bar”和“baz”。这是字符串的动态部分。

这是一个 JsBin:http://jsbin.com/bagegutamu/2/edit?js,console

最佳答案

你可以使用

/^(\D+?)[\s\d]*\(([^()]*)\)/

参见 regex demo

详情

  • ^ - 字符串的开始
  • (\D+?) - 第 1 组:1 个或多个非数字符号,尽可能少
  • [\s\d]* - 0+ 个空格或/和数字
  • \( - 文字 (
  • ([^()]*) - 第 2 组:()以外的 0 个或更多字符
  • \) - 文字 )

let str1 = 'Foo Bar (baz) Resu'
let str2 = 'Foo Bar 1234 (baz) Resu'
let pattern = /^(\D+?)[\s\d]*\(([^()]*)\)/
let m1 = str1.match(pattern)
if (m1) {
console.log("'"+m1[1]+"';'"+m1[2]+"'")
}
let m2 = str2.match(pattern)
if (m2) {
console.log("'"+m2[1]+"';'"+m2[2]+"'")
}

关于javascript - 忽略正则表达式中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45494930/

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