我設置了一個系統來解析一個非常指定語法的字符串並修復用戶錯誤。例如,語法要求在AM/d/yy的格式(沒有前導零)日期,所以我需要進行下列替換:智能RegEx替換
- 13年10月1日 - > 13年10月1日
- 13年10月10日 - >無變化
- 13年10月1日 - >無變化
- 13年1月10日 - > 13年1月10日
我有很多像這樣的規則我需要找到一個字符串部分並修復這些部分。我可以使用正則表達式來確定需要更正的問題。舉個更簡單的例子,我想找到CBUx[2-9]
,但是之後我需要用CBU x [2-9]
(如果前面是CBU,後面跟着一個數字,則是x周圍的空格)替換。例如:
輸入文字: 「等等等等CBUx3」 匹配: 「CBUx3」 取代: 「CBU×3」 輸出文本: 「等等等等CBU×3」
這是可能的?請注意,我完全知道我可以編寫代碼來查找斜槓和數字。我特意試圖用「智能RegEx替換」來做到這一點。我有很多不同類型的糾正方法可以與RegEx相匹配,並且我希望避免爲每個方法編寫特定的更正程序。
智能正則表達式是什麼意思?你的意思是你想要在一個正則表達式中結合所有的規則嗎? ** P.S **我相信聰明的書面正則表達式總是很聰明! – jkshah
你在用什麼語言?順便說一句,任何認爲m/d/yyyy是「智能」的系統可能已經陷入困境。更好地從僅用於一個國家的狹隘,古怪的m/d/yyyy格式轉換爲ISO yyyy/mm/dd,或世界其他地區使用的dd/mm/yyyy – Bohemian
「智能」正在修改替換,而不是正則表達式。重點是我想能夠用正則表達式指定替換字符串。因此我的例子。無論您是否喜歡我在此實例中使用的日期格式(我更喜歡ISO)完全不相關。 –