用于获取最后一个方括号 () 之间的文本的正则表达式
Regex for getting text between the last brackets ()
我想使用 javascript 提取最后()
之间的文本
例如
var someText="don't extract(value_a) but extract(value_b)";
alert(someText.match(regex));
结果应该是
value_b
感谢您的帮助
试试这个
'(([^)]*)')[^(]*$
在正则表达式上看到它
var someText="don't extract(value_a) but extract(value_b)";
alert(someText.match(/'(([^)]*)')[^(]*$/)[1]);
括号内的部件存储在捕获组 1 中,因此您需要使用 match()[1]
来访问结果。
一个有效的解决方案是让.*
在最后一次(
之前消耗所有内容
var str = "don't extract(value_a) but extract(value_b)";
var res = str.match(/.*'(([^)]+)')/)[1];
console.log(res);
-
.*'(
匹配任意数量的任意字符,直到最后一个文字(
-
([^)]+)
捕获一个或多个未)
字符 -
[1]
抓取组 1(第一个捕获组)的捕获。 - 对多行字符串使用
['s'S]
而不是.
点。
这是正则表达式101的演示
/'([^()]+')(?=[^()]*$)/
(?=[^()]*$)
,前瞻断言在输入结束之前没有更多的括号。
如果最后一个右括号总是在句子的末尾,你可以使用乔纳森的答案。否则,这样的事情可能会起作用:
/'(('w+)')(?:(?!'('w+')).)*$/
相关文章:
- 浏览器之间的文本区域更新方式不同
- 有没有一种方法可以从两个标签之间提取文本,并以我选择的格式输出
- 使用javascript获取标记之间的文本
- 谷歌应用程序在两个标签之间编写目标文本
- 使用Javascript,获取元素的方法是什么,基于打开和关闭标记之间的文本
- 如何使用JavaScript Regex替换字符串中双引号之间的文本
- 使用 JavaScript 中的正则表达式替换大文本中两个字符之间的每个出现的字符串
- j查询在多个文本框之间指定
- 在<选项>标签之间切换时保存输入文本
- 文本未在边框之间居中
- 阅读标签之间的文本
- 在jQuery或JavaScript中获取两个字符串之间的文本
- 循环字符串以查找字符集之间的文本
- 如何使用javascript将文本框中的值限制为1-999之间的值范围
- 使用javascript接受1-999之间的值的文本框
- 在javascript中使用regex只选择标记之间的文本
- 获取javascript中以a到Z之间的特定字符开头的第一个文本的位置
- 需要正则表达式使文本在*bold之间
- 如何获取两个容器之间的文本
- 如何获取javascript中两个文本框之间的天数