gpt4 book ai didi

javascript - 如何使用 JavaScript 正则表达式提取最后一个子字符串?

转载 作者:行者123 更新时间:2023-11-28 16:01:32 24 4
gpt4 key购买 nike

我是正则表达式新手。我正在尝试使用 JavaScript 正则表达式从字符串中提取括号内的最后一个子字符串。这对我不起作用。相反,我得到一对括号内的第一个子字符串。有人可以帮助我吗?

这是一个例子。我试图提取子字符串“xyz”,但我得到的是“abc”。

var str1 = 'Hello World (abc)'; // May or may not contain parentheses
var str2 = '(xyz)'; // Definitely contains parentheses
var troublesomeString = str1 + ' ' + str2; // This is the string I'm working with

var result = myFunc(troublesomeString);
alert(result); // Should say 'xyz', but instead says 'abc'

...

function myFunc(troublesomeString) {
// Here I am trying to get '(xyz)', but am instead getting '(abc) (xyz)'
var resultArray = troublesomeString.match(/\(.+\)$/);
troublesomeString = resultArray[0];

// Here I am trying to get 'xyz', but am instead getting 'abc'
resultArray = troublesomeString.match(/[a-z]+/); // Adding a $ after + doesn't help
troublesomeString = resultArray[0]; // resultArray[1] is null

return troublesomeString;
}

最佳答案

您正在匹配第一个“(”和最后一个“)”之间的所有内容,它必须结束字符串。

尝试使用此方法来匹配最后一组括号的内容(仍然必须按照“$”结束字符串):

var resultArray = troublesomeString.match(/\([^)]+\)$/);

关于javascript - 如何使用 JavaScript 正则表达式提取最后一个子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16826689/

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