我是 REGEX 概念的新手,無法弄清楚如何在我的 VBA 代碼中正確使用它。我想提取具有以下格式的所有字串:
AMT.xxx.xx.xxxxxx
AMT.xxx.xx.xxxxx
AMT.xxx.xxxxxx
AMT.xxx.xx.xxx.xxx
where Xs are numbers.
我嘗試了這條線,但無法獲得最后兩個模式。
With findRange.Find
.Text = "AMT.[0-9]{3}.[0-9]{2,}.[0-9]{5,}"
我嘗試使用 OR(|) 運算子包含最后兩個模式,但似乎不起作用。
With findRange.Find
"AMT.[0-9]{3}.[0-9]{2,}.[0-9]{5,} | AMT.[0-9]{3}.[0-9]{6}
| AMT.[0-9]{3}.[0-9]{2}.[0-9]{3}.[0-9]{3}"
如何更新我的代碼以包含所有四種模式?
謝謝。
uj5u.com熱心網友回復:
如果你真的必須使用通配符匹配的 Word Find,試試這個模式:
AMT\.[0-9]{3}\.[0-9]{2}[0-9\.]{1}[.0-9]{3,7}
它應該匹配上述 4 種格式,但可能會捕獲其他格式,因為它無法使用零次或多次出現來匹配字串的后面部分。
參考 - https://wordmvp.com/FAQs/General/UsingWildcards.htm
uj5u.com熱心網友回復:
它可能可以歸結為這個
AMT\.\d{3}\.\d{2}(?:\.\d{3}(?:\d{2,3}|\.\d{3})|\d{4})
https://regex101.com/r/WtEvjf/1
uj5u.com熱心網友回復:
試試這個正則運算式
匹配您在問題中提到的所有案例
AMT\.\d{3}\.(?:\d{2,}\.?)
Regex101 演示
告訴我它是否不起作用...
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/345279.html
