簡體   English   中英

正則表達式替換

[英]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.

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