Regex-选择字符串中的模式
我是新加入Regex的,面临着一个复杂的问题 我只想从以下列表项中选择金额+货币 例如:150,00欧元-100,00天秤座等Regex-选择字符串中的模式,regex,regex-lookarounds,Regex,Regex Lookarounds,我是新加入Regex的,面临着一个复杂的问题 我只想从以下列表项中选择金额+货币 例如:150,00欧元-100,00天秤座等 Monto: 150,00 EURO Monto: 7.350,00 PESO URUGUAY | Pesos: 12.495,00 |Sucursal: 36| Monto: 2.500,00 PESO URUGUAY Monto: 200,00 U$S EEUU | Pesos: 12.550,00 Monto: 50,00 U$S EEUU Monto:
Monto: 150,00 EURO
Monto: 7.350,00 PESO URUGUAY | Pesos: 12.495,00 |Sucursal: 36|
Monto: 2.500,00 PESO URUGUAY
Monto: 200,00 U$S EEUU | Pesos: 12.550,00
Monto: 50,00 U$S EEUU
Monto: 700,00 REAL | Pesos: 10.500,00 | Sucursal: 101
Monto: 100,00 LIBRA ESTERLINA | Pesos: 8.500,00 | Sucursal: 12
Monto: 5.000,00 PESO CHILENO | Pesos: 400,00 | Sucursal: 101
我的正则表达式测试:
我尝试了各种组合和公式,但没有成功地分离出金额+货币。
我还试图选择所有字符串,直到边界“|”(第一个竖条)为止,但它不起作用
欢迎任何帮助和解释,谢谢社区!:) 对于正则表达式来说是个新概念,但是类似的东西呢
(?通过将金额和货币组合在一起,可以使模式更加具体
\b
单词边界,以防止单词成为较长单词的一部分
[0-9]+
匹配1+个数字
(?:[,][0-9]+)*
重复0+次,匹配点或逗号和1+位
[\t]+
匹配1+个空格或制表符
(?:
非捕获组以匹配其中一个备选方案
Euro | PESO乌拉圭| U\$S EEUU | REAL | LIBRA ESTERLINA | PESO CHILENO
)
关闭非捕获组
有关状态的文档要匹配元字符,请使用反斜杠将其转义
您可以查看文档,看看您是否使用了正确的函数来接受正则表达式。感谢演示,但您还需要在问题中指出您想要匹配的确切内容。您的接受标准是什么?您可以将备选方案组合成\b[0-9]+(?:[,][0-9]+)*[\t]+(?:Euro | PESO乌拉圭| U\$S EEUU | REAL | LIBRA ESTERLINA | PESO CHILENO)
数字匹配不具体。谢谢!就我而言,不幸的是它不起作用,因为我使用的是Regex RE2(来自谷歌营销产品)而且它不接受完全匹配\$…谢谢,非常漂亮的解决方案:在我的情况下,它不幸不起作用,因为我使用的是Regex RE2(来自谷歌营销产品)而且它不接受完全匹配\|@ELT,我很困惑,因为RE2文档建议完全像这样避开管道符号。我想我还不太熟悉,无法告诉你为什么它不起作用。对不起。@ELT,你运气好吗?我在谷歌电子表格RegexExtract
上试过一些东西,希望它能模仿你的行为正在体验。是否“\d*?\d*,?\d+[^\|]*”
为你工作?如果问题已经解决。请不要忘记接受答案以关闭你的线程。感谢你的回答!Regex RE2非常严格,而谷歌营销产品(如谷歌数据工作室)对此也非常严格……我终于不能做我想做的事了,但这并不重要。首先,发现新的Regex技巧很有趣所有:)为什么\b[0-9]+(?:[,][0-9]+)*[\t]+(?:欧元|乌拉圭比索| U$S EEUU | REAL | LIBRA ESTERLINA |比索CHILENO)
而不是:[0-9.,][\t]+(?:欧元|乌拉圭比索| U$S EEUU | REAL | LIBRA ESTERLINA |比索CHILENO |我想我明白你的问题了.+
匹配列出的任何字符的1+次出现次数。这意味着is也将只匹配..,,,,,
而不匹配任何数字。如果使用[0-9.,]。+
它将只匹配列出的字符的一次出现次数和任何字符(由于
)1次或多次,这将首先匹配所有字符。
[0-9,.].+(Euro|URUGUAY|EEUU|CHILENO|ESTERLINA|REAL)
(?<=Monto:\s).*?(?=\s\||$)
\b[0-9]+(?:[.,][0-9]+)*[ \t]+(?:Euro|PESO URUGUAY|U\$S EEUU|REAL|LIBRA ESTERLINA|PESO CHILENO)