Regex 只匹配数字、带逗号和括号但不匹配引号的数字的正则表达式

Regex 只匹配数字、带逗号和括号但不匹配引号的数字的正则表达式,regex,quotes,comma,Regex,Quotes,Comma,我正在研究这个正则表达式,它似乎适用于除一个之外的大多数情况,我需要帮助了解如何使它适用于以下场景 我的字符串如下,正则表达式必须只匹配数字、带逗号的数字、带括号的数字或带逗号和括号的数字。此规则的例外是,它不应与引号中的上述场景的数字匹配 ( 123 122,1232 (123123123) "(123,12321)" ,1212 12132,121, "123423" "1234,12343" abc,1233 1233,abc) 123 match <br>

我正在研究这个正则表达式,它似乎适用于除一个之外的大多数情况,我需要帮助了解如何使它适用于以下场景 我的字符串如下,正则表达式必须只匹配数字、带逗号的数字、带括号的数字或带逗号和括号的数字。此规则的例外是,它不应与引号中的上述场景的数字匹配

(  123 122,1232  (123123123) "(123,12321)"    ,1212  12132,121,  "123423"  "1234,12343"  abc,1233  1233,abc)

123 match <br>
122,1232 match<br>
(123123123) match<br>
"123,12321" should not match since it is in quotes<br>
,1212 its fine to match or not match this case<br>
12132,121 match<br>
"123423" should not match again because of quotes<br>
"1234,12343" should not match same reason as above<br>
abc,1233 should not match the numbers here<br>
1234,abc should not match here<br>

请帮助我理解为什么当我尝试时,您附带的正则表达式对我不起作用,所以我提供了另一种解决方案,希望它能帮助:

(?<=\s)(\(?[0-9,]+\)?)(?=\s)

(?我只是想提一下,这不是一个重复的问题,我确实在SOF中搜索了帮助,在某种程度上我想我倾向于分两步完成。首先删除所有引用的内容,然后匹配剩余的数字。似乎在一个正则表达式中完成这一切可能会使它变得不必要的复杂。匹配和删除所有引用的内容都应该很简单,假设所有引用都是关闭的。首先,谢谢你有什么想法不幸的是,我没有选项2删除那些双引号,因为我必须根据匹配来抵消字符串。你在做什么编辑器、操作系统、关系数据库管理系统或其他什么?并不是所有的正则表达式引擎都是平等的。谢谢米格尔,这个正则表达式适用于我所说的所有场景,但不幸的是,负前瞻在javascript中不起作用
(?<=\s)(\(?[0-9,]+\)?)(?=\s)