[英]Regex find and replace pattern matches with other pattern
用字符串替換模式匹配是一種常見的方法,但我需要替換所有與文本中的模式匹配的子字符串,以作為另一個模式匹配進行匹配,這可能嗎?
例如,是否可以將所有匹配項替換為[0-9]{2}'[0-9]{2}
表示所有字符串,如99'99
或85'55
到這個[0-9]{2}.[0-9]{2}
代表所有字符串,如99.99
或85.55
是否可以? 如何進行這種替換? 或者我必須通過每個循環的匹配手動處理它?
將Regex.Replace()
實例函數與 Regex 捕獲組一起使用,如下所示:
var regex = new Regex("([0-9]{2})'([0-9]{2})");
string result = regex.Replace(input, "$1.$2");
可以在此處找到有關捕獲組的更多詳細信息。
另外,看看這個答案。 它展示了如何使用“命名”組,這可能在未來有所幫助。
所以據我了解,您有 99'99 或 85'55 之類的東西,並希望將其替換為 99.99 或 85.55?
您可能要查找的是捕獲組,即查找匹配項,捕獲此匹配項並將其放入結果中。
這里的正則表達式是s/([0-9]{2})'([0-9]{2})/$1.$2/g
說明: ([0-9]{2})
括號聲明了字幕組。 這意味着,其中捕獲的任何內容都將存儲到變量中。 這些變量是$1
和$2
,因為有兩個捕獲組。
在構建替換字符串時,只需插入這些變量並在它們之間放置點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.