簡體   English   中英

正則表達式從行尾刪除回車符(如果存在)

[英]Regex remove carriage return from end of lines if it exists

數據如下所示:

0.43,0.57,0.71,0.29,0.71,1.00,0.57,1.00\r
0.43,0.57,0.71,0.29,0.71,1.00,0.57,1.00
0.43,0.57,0.71,0.29,0.71,1.00,0.57,1.00\r

我想提取回車符(在上面的示例中用\\r標記)。 我一直在嘗試使用gm和捕獲組:

(.*)(?:\\r)$

但這僅匹配帶有\\r的行。 我以為解決方案將添加一個? $之前,但這不起作用。

演示: https : //regex101.com/r/jArLdS/1

干杯

如果要匹配\\r以外的所有行- 回車 -使用

[^\r\n]+

這是一個否定的字符類[^...] ),它匹配一個或多個\\r\\n以外的(由於+量)字符。

現場演示

試試這個正則表達式:

^([^\\r\n]*)(:?\\r)?$

這是假設您的意思是排除\\r而不提取\\r因為您的原始正則表達式會這樣做。

便攜式解決方案。

(^.*?)(\\\\r)(\\r\\n|\\n)

這是三個捕獲組,從左到右,從1開始,而不是0

用捕獲組1和3替換您的字符串,跳過2。

對於大多數使用捕獲組的語言,捕獲組通常在語法上類似於\\1$1

暫無
暫無

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

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