[英]regex substitution
我正在嘗試學習有關正則表達式的更多信息,並且一直想知道以下內容:
如何在點字符后插入空格,但僅當點字符不被數字包圍時(例如,需要匹配)。 但不是22.22!
這是零寬度斷言的一個好例子:
$subject =~
s/(?<=\. # after a dot,
(?! # but not matching
(?<=\d\.) # digit followed by dot before, AND
(?=\d) # digit afterward
)
)/ /x
g;
我認為您會發現這些評論可以自我解釋! :)
嘗試:
echo "22.22"|perl -pe 's{(\D)\.(\D)}{$1. $2}'
22.22
echo "2x.x2"|perl -pe 's{(\D)\.(\D)}{$1. $2}'
2x. x2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.