gpt4 book ai didi

javascript - 使用正则表达式提取 JavaScript 中给定模式的字符串

转载 作者:行者123 更新时间:2023-11-28 21:15:34 25 4
gpt4 key购买 nike

我试图找出如何仅获取已知开始和结束字符串之间的值。例如,使用此字符串:

I need [?Count?] [?Widgets?]

我需要返回值CountWidgets

我试过了

[?(.*)?]

最终得到

I need [
Count
] [
Widgets
]

有没有办法使用这些开始和结束字符串来解析出我需要的值?或者我应该在解析值之前尝试找到一种方法来更改它们?我非常感谢您提供的任何帮助。

谢谢!

最佳答案

var str = "I need [?Count?] [?Widgets?]";
$(str.match(/\[\?.*?\?\]/g)).map(function(i) { return this.match(/\[\?(.*)\?\]/)[1] });
// => ['Count'], 'Widgets']

请注意,在正则表达式中,您必须转义 []?,因为它们是特殊字符。还可以使用正则表达式末尾的 g 标志来查找所有匹配项。我还使用 .*? 而不是 .* ——这意味着非贪婪匹配或“找到最短的可能匹配”,这就是您想要的。

最后,对结果进行映射(使用 jquery map)以删除“[?”和结果中的“?]”。

或者,如果您不想删除特殊字符,甚至不要使用 map :

var str = "I need [?Count?] [?Widgets?]";
str.match(/\[\?.*?\?\]/g);
// => ['[?Count?]'], '[?Widgets?]']

关于javascript - 使用正则表达式提取 JavaScript 中给定模式的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7719826/

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