Regex 有没有更好的方法制作iso4217正则表达式?

Regex 有没有更好的方法制作iso4217正则表达式?,regex,node.js,Regex,Node.js,我现在有这个: ^ADF|ADP|AED|AFA|AFN|ALL|AMD|ANG|AOA|AOK|AON|AOR|ARA|ARL|ARP|ARS|ATS|AUD|AWG|AZM|AZN|BAD|BAM|BBD|BDT|BEF|BGL|BGN|BHD|BIF|BMD|BND|BOB|BOP|BOV|BRB|BRC|BRE|BRL|BRN|BRR|BSD|BTN|BWP|BYB|BYN|BYR|BZD|CAD|CDF|CHE|CHF|CHW|CLE|CLF|CLP|CNY|COP|COU|CRC|C

我现在有这个:

^ADF|ADP|AED|AFA|AFN|ALL|AMD|ANG|AOA|AOK|AON|AOR|ARA|ARL|ARP|ARS|ATS|AUD|AWG|AZM|AZN|BAD|BAM|BBD|BDT|BEF|BGL|BGN|BHD|BIF|BMD|BND|BOB|BOP|BOV|BRB|BRC|BRE|BRL|BRN|BRR|BSD|BTN|BWP|BYB|BYN|BYR|BZD|CAD|CDF|CHE|CHF|CHW|CLE|CLF|CLP|CNY|COP|COU|CRC|CSD|CSK|CUC|CUP|CVE|CYP|CZK|DDM|DEM|DJF|DKK|DOP|DZD|ECS|ECV|EEK|EGP|ERN|ESA|ESB|ESP|ETB|EUR|FIM|FJD|FKP|FRF|GBP|GEL|GHC|GHS|GIP|GMD|GNE|GNF|GQE|GRD|GTQ|GWP|HKD|HNL|HRD|HRK|HTG|HUF|IDR|IEP|ILP|ILR|ILS|INR|IQD|IRR|ISJ|ISK|ITL|JMD|JOD|JPY|KES|KGS|KHR|KMF|KPW|KRW|KWD|KYD|KZT|LAK|LBP|LKR|LBP|LKR|LRD|LSL|LTL|LUF|LVL|LYD|MAD|MAF|MCF|MDL|MGA|MGF|MKD|MKN|MLV|MMK|MNT|MOP|MRO|MTL|MUR|MVQ|MVR|MWK|MXN|MXP|MXV|MYR|MZM|MZN|NAD|NGN|NIO|NLG|NOK|NPR|NZD|OMR|PAB|PEN|PGK|PHP|PKR|PLN|PTE|PYG|QAR|RON|RSD|RUB|RWF|SAR|SBD|SCR|SDG|SEK|SGD|SHP|SIT|SKK|SLL|SML|SOS|SRD|SSP|STD|SVC|SYP|SZL|THB|TJS|TMT|TND|TOP|TRY|TTD|TWD|TZS|UAH|UGX|USD|USN|UYI|UYU|UZS|VAL|VEF|VND|VUV|WST|XAF|XAG|XAU|XBA|XBB|XBC|XBD|XBT|XCD|XDR|XFU|XOK|XPD|XPF|XPT|XSU|XTS|XUA|YER|ZAR|ZMW|ZWL$
这是可行的,但我不确定是否有更好的方法。我还有一些代码要添加,所以它会变得更长。此正则表达式将在节点中作为JSON模式的一部分用于验证

为了进行验证,他们提供了接受正则表达式的
模式

var test = "ABC";
words = ["ADF", "ADP", ...]
if (words.includes(test)){
  return true;
}
用正则表达式这样做毫无意义


使用正则表达式执行此操作毫无意义。

正则表达式不是您想要的,这里没有真正的“模式”。考虑一个外部配置,你会比较它。你确定正则表达式是走的路吗?似乎。。。AWKWARDI如果此列表更改您的正则表达式中断。。。使用一个列表并以编程的方式遍历列表可能更容易,成本也差不多。我猜你的意思是
^(这里所有的首字母缩写)$
(带括号),否则正则表达式也会匹配
ACRC
et similia。好吧,即使是缩短的一个-
^(a(D[FP][EMU]D|F[AN]| LL |[NW]G| O[AKNR]|[ALPS]| TS |[MN]本尼[MN]本尼[MN]本尼[MN]本尼[MN]本尼[MN]本尼[MN]本尼[MN]本尼[MN]本尼[MN]本本尼[M]本尼[M]本尼[M]本尼[M]本尼[M]本尼[M]本尼[M]本尼[M]本尼[M]本尼[M]本尼[M]本尼[M]本尼[M]本尼[M]本尼[M]本尼[M]本尼[M]本尼[M]本尼[M]本尼[M]本尼[M]本尼[M]本尼[M]本本尼[M]本本尼[M]本本尼[M]本本尼[M]本本本尼[C]本本本尼[[C]本本本本本本本本本尼[[C]本本本尼(本本本本本本尼[[(C[SV)E(C[SV)C[SV)E(C[SV)卡卡昂(C[SV)卡昂(C[SV)E(C[SV)卡昂(C[SV)卡昂(C[SV)卡昂(C)卡昂(C)卡昂(C)卡昂(C)卡昂(C)卡昂(卡昂(萨)其他其他其他其他(C)卡昂(C)卡昂(卡昂(C)卡昂(C)卡昂(C)卡昂(C)卡昂(C)卡昂(C)卡本本本本本本本币)其他(C)和其他(C)卡昂(C)卡昂(C)卡昂(C)卡昂(C)卡昂(C)卡昂(C)其他其他其他其他其他其他其他其他其他其他其他其他其他其他其他其他其他其他其他其他其他其他其他其他其他其他其他其他其他(C)卡昂(C)卡本本本本本本本本本本本(MO]D | PY | K(例如S | HR | MF |[PR]W |[WY]D | ZT | L | AK | BP | KR |[RY]D |[STV]L | UF)|
Regex不是你想要的,没有真正的“模式”在这里。考虑有一个外部的配置,你会比较它。你确定正则表达式是行进的方式吗?看起来……笨拙的这个列表改变了你的正则表达式……很容易只使用列表并以编程方式重复列表,代价也差不多。我猜你的意思是<代码> ^(这里所有的首字母缩写)。《代码》(带括号),否则的话,regex会匹配的,否则的话,regex会匹配的,否则的话,那么,好吧,即使是缩短的一个,好吧,甚至是一个缩短的,甚至是一个缩短的,甚至是一个缩短的一个,一个(a(D[FP[FP[FP]124;[EMU]D[FP[FP[FP]|[EMU]D]D[EMU]D124| D | F[124; F[F[F[F]F]F[a]F[a]F[a]F[a]安安州州州[a]安全[a]|[a]抽取抽取抽取抽取抽取抽取[a]抽取抽取抽取[a]抽取[a]抽取[a]抽取[a]抽取[a]抽取[a]D]D]D]D]D]D]D]D]D[124| H[EFW]| L[EFP]| NY | O[PU]| RC | S[DK]| U[CP]| VE | YP | ZK)| D([DE]M | JF | KK | OP | ZD)| E | C[SV EK | GP RN |S(ABP)ABP[ABP)结核病(ABP)结核病(TB)UR)本方(ABP)结核病(ABP)结核病(TB)本方(ABP)结核病(ABP)本方(ABP)无无需(ABP)本方(ABP)方(ABP)方(ABP)方(ABP)方(ABP)方(ABP)方(ABP)方(ABP)方(ABP)方(BWIP)方)医疗卫生健康健康[C[C[C)H[C[C)方(C[C)方(C)方(C)方)健康[C[C[C)方(C)方(C)方(方)方(方)方)方(方)方(方)方(方)方(方)方(方)方(方)方(方)方)方)方(方(方)方)方)方(方)方(方)方(方)结核病(方)结核病(方)方)方)方| MF |[PR]W |[WY]D | ZT | L(AK | BP | KR |[RY]D |[STV]L | UF)