簡體   English   中英

正則表達式查找字符串中的數字-作為單詞或數字

[英]Regular Expression to Find Number in String - As Word OR Number

我需要能夠匹配包含“ Volume”的音樂專輯名稱中的字符串,以將其轉換為標准格式,因此以下示例將全部變為“ This is a Test,Vol。1”

  • “這是測試卷1”
  • “這是一個測試卷。1”
  • “這是一個測試卷。1”
  • “這是一個測試卷1”
  • “這是測試卷1”
  • “這是測試,第1卷”
  • “這是測試,第1卷”

經過幾分鍾的混亂,我已經到了那里,但是有一個問題。 當它后面有一個數字時,我只需要匹配即可,但是這個數字可以寫為一個數字(1、2、3)或一個單詞(一個,兩個,三個)。 這些數字可能會相對較高,例如20(二十),等等。顯然,如果專輯被稱為“ Turn up the Volume”,我希望它將其更改為“ Turn up the,Vol。”。

我該怎么做呢?

到目前為止,這是我得到的:

/,*\\sVol(ume)*\\.*\\s*/gi

https: // www.regex101.com/ r/ tI8nV7/ 1`

還有另一種情況增加了更多的復雜性:

  • “這是一個測試(第1卷)”

仍應轉換為:“這是測試,第1卷”

使用前瞻性檢查匹配項后跟123還是字符串一,二,三。

,?\h*Vol(?:ume)?\.?\h*(?=(?:[123]|one|two|three)\b)

DEMO

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM