【发布时间】:2019-03-15 15:28:10
【问题描述】:
我编写了一个正则表达式,它可以正确验证单一货币,例如EUR 或USD:
const ccyRegEx = new RegExp(currencies.join('|'), 'i');
给定currencies = ["EUR", "USD", "JPY", "GBP"...] 会产生类似EUR|USD|JPY|GBP... 的东西
我将如何使用这个 RegExp 和 currencies 数组作为输入来构造一个新的 RegExp 来验证货币对,例如EURUSD、USDJPY?
currencies 数组很大,可能会发生变化,所以我想动态创建这个正则表达式,而不是硬编码货币对的所有可能排列。
相同的货币对,例如EUREUR 和USDUSD 无效。
不同订单的货币对有效,例如EURUSD和USDEUR。
【问题讨论】:
-
同样的方式?
curencies = [ "EURUSD", "USDJPY" ];?或者问题是如何以["EUR", "USD", "JPY"]为输入构造数组[ "EURUSD", "EURJPY", "USDEUR", "JPYEUR", "USDJPY", "JPYUSD" ]? -
@Shilly 很抱歉,如果不清楚,但
currencies数组很大并且可能会发生变化,所以我想动态创建这个正则表达式,而不是硬编码货币对的所有可能排列跨度> -
因此我问你是否想用 ["EUR", "USD" 创建 `[ "EURUSD", "EURJPY", "USDEUR", "JPYEUR", "USDJPY", "JPYUSD" ] ", "JPY"] 作为输入。我认为这是肯定的?
-
@Shilly 啊是的,以
currencies数组作为输入,不幸的是我没有货币对数组 -
你从哪里得到
currencies数组?
标签: javascript regex parsing