如何在pl sql中匹配regex中的列表/数组?

问题描述 投票:0回答:1

我在plsql中有一些像这样的代码

regexp_matches(source_string, pattern)

我想将源字符串与列表匹配,表示货币符号列表。我已经在我的python代码中有该列表,如果源以任何货币符号(不是多个符号)开头,我希望上面的函数返回匹配。所以“$ 345”应该匹配,而“abc345”和“$$ 230”不应该匹配。

请帮忙

python regex plsql nsregularexpression
1个回答
1
投票

使用正则表达式可以实现:^\$\d+$ 分解: ^...$ - 匹配从行开始(^)到行结束($)之间的任何东西(...),你需要这个以避免匹配$$450(行以2 $而不是1开头) \$ - 文字美元符号(必须转义) \d - 从0到9的任何数字 \d+ - 从0到9的任何数字至少重复一次(例如,8,8735,但不是没有)

链接测试和游戏:https://regex101.com/r/c3YgQO/1


由于评论中添加了更多信息,因此这是一个更新:

这个正则表达式:^(-?([€$]\d+|\d+%))$似乎是你正在寻找的。 分解: -? - 匹配-一次或根本不匹配,使其成为可选项 (...|\d+%) - 匹配...\d+% \d+% - 匹配至少一个数字后跟一个百分号(%

新测试链接:https://regex101.com/r/NBzaG1/1

要匹配带小数点的数字,您可以将\d+替换为:\d+(\.\d)?\d*

© www.soinside.com 2019 - 2024. All rights reserved.