Javascript 使用正则表达式获取包含括号的内容
我不熟悉正则表达式。我正在尝试使用正则表达式获取括号内的内容 例子Javascript 使用正则表达式获取包含括号的内容,javascript,jquery,regex,regex-negation,regex-lookarounds,Javascript,Jquery,Regex,Regex Negation,Regex Lookarounds,我不熟悉正则表达式。我正在尝试使用正则表达式获取括号内的内容 例子 7+(4*6)-->(4*6) (44/(2*(1+3))--->(1+3) (54-(23+12))--->(23+12) 因此,我的预期输出以(后跟数字,后跟空格(可能不是),后跟四个运算符中的任何一个(+、-、*、/),后跟空格(可能不是),后跟) 提前感谢…试试这个: \( *\d+ *[-+*/] *\d+ *\) 这意味着: 匹配字符“(”字面意思 逐字匹配字符“”。 在0到无限次之间,尽可能多,根据需要回馈(
7+(4*6)
-->(4*6)
(44/(2*(1+3))
--->(1+3)
(54-(23+12))
--->(23+12)
(
后跟数字,后跟空格(可能不是),后跟四个运算符中的任何一个(+、-、*、/),后跟空格(可能不是),后跟)
提前感谢…试试这个:
\( *\d+ *[-+*/] *\d+ *\)
这意味着:
- 匹配字符“(”字面意思
- 逐字匹配字符“”。
- 在0到无限次之间,尽可能多,根据需要回馈(贪婪)
- 匹配单个数字0..9
- 在1到无限次之间,尽可能多,根据需要回馈(贪婪)
- 逐字匹配字符“”。
- 在0到无限次之间,尽可能多,根据需要回馈(贪婪)
- 匹配列表中的单个字符“-+*/”
- 逐字匹配字符“”。
- 在0到无限次之间,尽可能多,根据需要回馈(贪婪)
- 匹配单个数字0..9
- 在1到无限次之间,尽可能多,根据需要回馈(贪婪)
- 逐字匹配字符“”。
- 在0到无限次之间,尽可能多,根据需要回馈(贪婪)
- 按字面意思匹配字符“)”
var regExp = /\( *\d+ *[-+*/] *\d+ *\)/;
"7+(4*6)".match(regExp)[0]; // "(4*6)"
"(44/(2*( 1 + 3)))".match(regExp)[0]; // "( 1 + 3)"
"(54-(23+12))".match(regExp)[0]; // "(23+12)"
试试这个:
\( *\d+ *[-+*/] *\d+ *\)
这意味着:
- 匹配字符“(”字面意思
- 逐字匹配字符“”。
- 在0到无限次之间,尽可能多,根据需要回馈(贪婪)
- 匹配单个数字0..9
- 在1到无限次之间,尽可能多,根据需要回馈(贪婪)
- 逐字匹配字符“”。
- 在0到无限次之间,尽可能多,根据需要回馈(贪婪)
- 匹配列表中的单个字符“-+*/”
- 逐字匹配字符“”。
- 在0到无限次之间,尽可能多,根据需要回馈(贪婪)
- 匹配单个数字0..9
- 在1到无限次之间,尽可能多,根据需要回馈(贪婪)
- 逐字匹配字符“”。
- 在0到无限次之间,尽可能多,根据需要回馈(贪婪)
- 按字面意思匹配字符“)”
var regExp = /\( *\d+ *[-+*/] *\d+ *\)/;
"7+(4*6)".match(regExp)[0]; // "(4*6)"
"(44/(2*( 1 + 3)))".match(regExp)[0]; // "( 1 + 3)"
"(54-(23+12))".match(regExp)[0]; // "(23+12)"
试试这个:
\( *\d+ *[-+*/] *\d+ *\)
这意味着:
- 匹配字符“(”字面意思
- 逐字匹配字符“”。
- 在0到无限次之间,尽可能多,根据需要回馈(贪婪)
- 匹配单个数字0..9
- 在1到无限次之间,尽可能多,根据需要回馈(贪婪)
- 逐字匹配字符“”。
- 在0到无限次之间,尽可能多,根据需要回馈(贪婪)
- 匹配列表中的单个字符“-+*/”
- 逐字匹配字符“”。
- 在0到无限次之间,尽可能多,根据需要回馈(贪婪)
- 匹配单个数字0..9
- 在1到无限次之间,尽可能多,根据需要回馈(贪婪)
- 逐字匹配字符“”。
- 在0到无限次之间,尽可能多,根据需要回馈(贪婪)
- 按字面意思匹配字符“)”
var regExp = /\( *\d+ *[-+*/] *\d+ *\)/;
"7+(4*6)".match(regExp)[0]; // "(4*6)"
"(44/(2*( 1 + 3)))".match(regExp)[0]; // "( 1 + 3)"
"(54-(23+12))".match(regExp)[0]; // "(23+12)"
试试这个:
\( *\d+ *[-+*/] *\d+ *\)
这意味着:
- 匹配字符“(”字面意思
- 逐字匹配字符“”。
- 在0到无限次之间,尽可能多,根据需要回馈(贪婪)
- 匹配单个数字0..9
- 在1到无限次之间,尽可能多,根据需要回馈(贪婪)
- 逐字匹配字符“”。
- 在0到无限次之间,尽可能多,根据需要回馈(贪婪)
- 匹配列表中的单个字符“-+*/”
- 逐字匹配字符“”。
- 在0到无限次之间,尽可能多,根据需要回馈(贪婪)
- 匹配单个数字0..9
- 在1到无限次之间,尽可能多,根据需要回馈(贪婪)
- 逐字匹配字符“”。
- 在0到无限次之间,尽可能多,根据需要回馈(贪婪)
- 按字面意思匹配字符“)”
var regExp = /\( *\d+ *[-+*/] *\d+ *\)/;
"7+(4*6)".match(regExp)[0]; // "(4*6)"
"(44/(2*( 1 + 3)))".match(regExp)[0]; // "( 1 + 3)"
"(54-(23+12))".match(regExp)[0]; // "(23+12)"
您可以使用lookahead获取最里面的括号和封闭文本 这个正则表达式应该可以:
\((?=[^(]*$)[^)]*\)
测试:
'7+(4*6)'.match(/\((?=[^(]*$)[^)]*\)/);
//=> ["(4*6)"]
'(44/(2*( 1 + 3)))'.match(/\((?=[^(]*$)[^)]*\)/);
//=> ["( 1 + 3)"]
'(54-(23+12))'.match(/\((?=[^(]*$)[^)]*\)/);
//=> ["(23+12)"]
在线演示:您可以使用lookahead获取最里面的括号和封闭文本 这个正则表达式应该可以:
\((?=[^(]*$)[^)]*\)
测试:
'7+(4*6)'.match(/\((?=[^(]*$)[^)]*\)/);
//=> ["(4*6)"]
'(44/(2*( 1 + 3)))'.match(/\((?=[^(]*$)[^)]*\)/);
//=> ["( 1 + 3)"]
'(54-(23+12))'.match(/\((?=[^(]*$)[^)]*\)/);
//=> ["(23+12)"]
在线演示:您可以使用lookahead获取最里面的括号和封闭文本 这个正则表达式应该可以:
\((?=[^(]*$)[^)]*\)
测试:
'7+(4*6)'.match(/\((?=[^(]*$)[^)]*\)/);
//=> ["(4*6)"]
'(44/(2*( 1 + 3)))'.match(/\((?=[^(]*$)[^)]*\)/);
//=> ["( 1 + 3)"]
'(54-(23+12))'.match(/\((?=[^(]*$)[^)]*\)/);
//=> ["(23+12)"]
在线演示:您可以使用lookahead获取最里面的括号和封闭文本 这个正则表达式应该可以:
\((?=[^(]*$)[^)]*\)
测试:
'7+(4*6)'.match(/\((?=[^(]*$)[^)]*\)/);
//=> ["(4*6)"]
'(44/(2*( 1 + 3)))'.match(/\((?=[^(]*$)[^)]*\)/);
//=> ["( 1 + 3)"]
'(54-(23+12))'.match(/\((?=[^(]*$)[^)]*\)/);
//=> ["(23+12)"]
在线演示:
还有你最好的
还有你最好的
还有你最好的
还有你最好的。试试这个变体
\((?!.*\().*?\)
试试这个变体
\((?!.*\().*?\)
试试这个变体
\((?!.*\().*?\)
试试这个变体
\((?!.*\().*?\)
上面的代码到底是做什么的?它有什么用处?它是您要求的正则表达式。它查找没有嵌套括号的括号。上面的代码具体做什么?它有什么用处?它是您要求的正则表达式。它是罗