正则表达式:匹配特定字符

时间:2019-07-23 21:19:33

标签: ruby-on-rails regex

我有以下三个表达式:

  1. [$€-2] \#,## 0.00; \-[$€-2] \#,## 0.00

  2. [$ USD] \#,## 0.00; \-[$ USD] \#,## 0.00

  3. -[$$-409] *#,## 0.00 ; -[$$-409] * \-#,## 0.00 \; -[$$-409] * \“-\” ?? _; -@

我要匹配:

  1. 美元
  2. $

我尝试使用[^\d\s, \.]\p{Sc},但是它不起作用。如何匹配这些特定字符?

1 个答案:

答案 0 :(得分:1)

您可以使用

\bUSD\b|\p{Sc}

请参见Rubular demo

详细信息

  • \b-单词边界
  • USD-一个USD字符串
  • \b-单词边界
  • |-或
  • \p{Sc}-任何Unicode货币字符。

您可能希望将模式扩展到

\b(?:USD|GBP|EUR|JPY|CHF|SEK|DKK|NOK|SGD|HKD|AUD|TWD|NZD|CNY|KRW|INR|CAD|VEF|EGP|THB|IDR|PKR|MYR|PHP|MXN|VND|CZK|HUF|PLN|TRY|ZAR|ILS|ARS|CLP|BRL|RUB|QAR|AED|COP|PEN|CNH|KWD|SAR)\b|\p{Sc}

以支持更常见的货币缩写。