我正在使用 ToolsVersion="3.5"。
我想從字串末尾匹配到倒數第二個點 (.)。
例如,給定值123.456.78.910.abcdefgh我只想得到910.abcdefgh。
我試過了
<RegexReplace Input="$(big_number)" Expression="/(\w \.\w )$/gm" Replacement="$1" count="1">
<Output ItemName ="big_number_tail" TaskParameter="Output"/>
</RegexReplace>
但它只回傳整個字串。知道出了什么問題嗎?
uj5u.com熱心網友回復:
首先,不要在文本屬性中使用正則運算式文字。當通過字串,而不是代碼中定義的正則運算式,正則運算式的文字符號(如/.../gm)是通常不使用在這些情況下/的正則運算式分隔符和g,m等標志被視為一個圖案的一部分,并且作為結果,它永遠不會匹配。
此外,當您通過此處的替換進行提取時,您需要確保將整個字串與您的模式匹配,并且只捕獲您要提取的部分。注意:您可能有超過1個捕獲組,然后你可以使用$2,$3在更換等。
您可以使用
<RegexReplace Input="$(big_number)" Expression=".*\.([^.]*\.[^.]*)$" Replacement="$1" count="1">
請參閱正則運算式演示。詳情:
.*- 除換行符以外的任何零個或多個字符,盡可能多\.- 一個.字符([^.]*\.[^.]*)- 第 1 組($1指這部分):零個或多個非點字符、一個.字符,以及零個或多個點以外的字符$- 字串結束。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/409277.html
標籤:
上一篇:正則運算式匹配確切的版本短語
下一篇:如何在特定模式后獲取字串
