Javascript 匹配包含特定字符的括号
我有一个字符串:Javascript 匹配包含特定字符的括号,javascript,regex,match,Javascript,Regex,Match,我有一个字符串: var string = "116 b (407) (90 A / 122 M) (11.2004)" 在该字符串中,我希望匹配特定的括号()及其上下文(即(90a/122m)),包括特定的字符/ 我试过: string.match(/\([/]\)/g) 但它返回null。我做错了什么? 向您的\([/]\)模式匹配一个(,后跟/,后跟),一个3字符序列 你可以用 /\([^()]*\/[^()]*\)/g 看 详细信息: \(-开头(括号 [^()]*-除了(和)(
var string = "116 b (407) (90 A / 122 M) (11.2004)"
在该字符串中,我希望匹配特定的括号()
及其上下文(即(90a/122m)
),包括特定的字符/
我试过:
string.match(/\([/]\)/g)
但它返回null
。我做错了什么?
向您的\([/]\)
模式匹配一个(
,后跟/
,后跟)
,一个3字符序列
你可以用
/\([^()]*\/[^()]*\)/g
看
详细信息:
-开头\(
括号(
-除了[^()]*
和(
(可以在末尾添加)
以稍微提高性能:\/
)[^()\/]*
-一个\/
符号/
-除[^()]*
和(
之外的零个或多个字符)
-右括号\)
string.match(/\([^)]*\)/g)
这可能会给你想要的:
[“(407)”,“(90A/122M)”,“(11.2004)”
试试这个:
/\([^(/]*\/[^)]*\)/g
您不想使用更具体的正则表达式吗?e、 g.
/\(\d+[A-Z]\/\d+[A-Z]\)/g
=>(VAL UNIT/VAL UNIT)@Mr.polywhill:任务不是为所讨论的字符串建议精确的模式,而是匹配包含特定字符的括号。是的,否则,我会建议这样做。你的意思是你只想在括号内有斜线时匹配吗?顺便说一句,我建议使用像regex101.com这样的网站,它会“大声朗读”您的regexp。这将帮助您轻松找到问题。您正在寻找一组括号,括号之间只有一个斜杠字符。他似乎只想匹配带斜杠的括号。@torazaburo我不这么认为!或者我抓到你了wrong@torazaburo这很奇怪。。。我希望OP在这个问题上有更多的背景。仅仅用斜杠匹配括号是很奇怪的,而且会增加查找匹配项所需的时间。也感谢您:)