C# Microsoft正则表达式模式无法匹配

C# Microsoft正则表达式模式无法匹配,c#,regex,C#,Regex,我试图使用带有选项的正则表达式:忽略大小写、多行和忽略空白。但它并不匹配。这是正则表达式: " \s+(?(U|US|USD)\s*\$\s([a-z0-9$,.'_-]+)(\s[a-z0-9$,.'_-]+)+)\s+(\-\s(Savings|Chequing|\w+)\s(\d{5})\-(\d{7})\s*){0,1} (Savings|Chequing|\w+)\s(?\d{5}\-(\d{7}))\s+(Available Balance[:]\s[$](?[0-9.,]{3,

我试图使用带有选项的正则表达式:忽略大小写、多行和忽略空白。但它并不匹配。这是正则表达式:

" \s+(?(U|US|USD)\s*\$\s([a-z0-9$,.'_-]+)(\s[a-z0-9$,.'_-]+)+)\s+(\-\s(Savings|Chequing|\w+)\s(\d{5})\-(\d{7})\s*){0,1} (Savings|Chequing|\w+)\s(?\d{5}\-(\d{7}))\s+(Available Balance[:]\s[$](?[0-9.,]{3,20})\sUSD\s [$](?[0-9,.]{3,20})) " " \s+(?(美元)s*\$\s([a-z0-9$,.U-]+)(\ s[a-z0-9$,.U-]+)\ s+(\-\s(储蓄{124;支票}\w+)\s(\d{5})\-(\d{7})\s*){0,1} (储蓄| Chequing |\w+)\s(?\d{5}-(\d{7}))\s+(可用余额[:]\s[$](?[0-9.,]{3,20})\sUSD\s [$](?[0-9,.]{3,20})) " 下面是我想要匹配的字符串的示例:

"Close Quick Menu Button U$ smith Hi interest2 Savings 04237-4500385 Available Balance: $0.00 USD $0.00 USD Open r" “关闭快速菜单按钮 U$smith Hi interest2 储蓄04237-4500385可用余额:0.00美元 0.00美元 开放式r“ 我想我犯的错误是
(?[0-9.,]{3,20})\s
,因为表达式使用表达式的前一部分进行匹配

我一直在尝试不同的模式,但没有结果


<>你的帮助是非常感谢的。

我注意到的是,你在ReGeX的中间有“代码>可用余额<代码>。

您需要将其更改为
可用\sBalance
。当它说它忽略空白时,这意味着正则表达式中的空白不是匹配的字符串


这个正则表达式有效。我将
(?
更改为
(?:
),并添加了
+

\s+(?:(U|US|USD)\s*\$\s([a-z0-9$,.'_-]+)(\s[a-z0-9$,.'_-]+)+)\s+(\-\s(Savings|Chequing|\w+)\s(\d{5})\-(\d{7})\s*){0,1}(Savings|Chequing|\w+)\s(?:\d{5}\-(\d{7}))\s+(Available\sBalance[:]\s[$](?:[0-9.,]{3,20})\sUSD\s+[$](?:[0-9,.]{3,20}))
但是你忽略了空格,为什么不把它写清楚呢?我还改变了一些你不需要的东西:

\s+(?:(U|US|USD) \s* \$ \s ([a-z0-9$,.'_-]+)
   (\s[a-z0-9$,.'_-]+)+)
\s+(-\s(Savings|Chequing|\w+)
\s (\d{5})-(\d{7})\s*)?
   (Savings|Chequing|\w+)
\s (?:\d{5}-(\d{7}))
\s+(Available \s Balance: \s \$ (?:[0-9.,]{3,20}) \s USD
\s+\$(?:[0-9,.]{3,20}))

哪种语言?javascript?c#中使用的Microsoft正则表达式。严格来说,该模式在c#程序中以@为前缀。您如何指定选项?它们不在您发布的代码中。您为什么标记此c#?也没有c#发布。
(?[0-9.]{3,20})的
不在您的模式中,因此我们无法知道是什么“前一部分”是。thx,后一部分是。thx,后一部分是。改变后我能够批量到前一部分的前一部分,最后[$]所以下面的匹配是这样以下匹配的“\s+((a-之前的前一部分”是。thx,在改变后我能够批量到前一部分,在改变后我能够批量到前一部分的前一部分,最后[$]所以下面的匹配是“\s+(\s+((美国)s+(美国(U |美国124;美国124;美国124;美国124;美国|美国|美国|美国|美国|美国124;美国124;美国124;美国124;美国124;美元)美元美元)美元)美元)美元)美元)美元)美元)美元)美元)美元)美元)美元)美元)s)s)s)s)s)+(可用\sBalance[:]\s[$](?[0-9.,]{3,20})\sUSD\s“thx,更新后的答案确实匹配,但是,我无法通过名称、余额、、、显式提取。不幸的是,我无法通过${1}、${2}…,获得正确的结果,例如帐户名称、帐户编号以及可用余额和实际余额pass@gg89您应该使用反勾号(`)我想我很接近一个答案,使用相同的regex选项,使用相同的regex选项,答案使用相同的regex选项,答案使用相同的答案,答案使用同一个答案,答案使用相同的regex选项,答案使用同一个regex选项的抽取列表,答案使用相同的regex选项,答案使用同一个答案,答案使用相同的regex选项,答案使用同一个答案使用相同的regex的答案,答案使用相同的抽取列表,抽取列表的以下的抽取列表:{{{{{{{{{{descdesc描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述{{{{{{{desc描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述描述{{{{{{{{{{{{{{{{{{{描述描述描述描述描述,,,,,,,,,,{{{{{{{{{{{{{{{{{{{{{;\w+\s(?\d{5}\(\d{7}))\s+(可用\sBalance\:\s\$(?[0-9.]{3,20})\sUSD\s+\$(?[0-9.]{3,20})\s`将其与'U$J.Smith current'匹配时,检查09999-8887777检查09999-8887777 USD$0.00`相同的提取列表失败。查看条件/展望