亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

忽略少數字符直到找到提到的模式的正則表達式

忽略少數字符直到找到提到的模式的正則表達式

C#
慕萊塢森 2022-11-21 20:26:31
我必須在 pdf 中找到一個小數,它位于“費用”欄下。所以,我遇到了正則表達式來找到工作正常的小數。但是在其中一個 pdf 中,我有以下格式。Pdf 文本 -費用(國家)18181 和 75/100 18,181.75 預計 - 18,181.75用于在文本“Charge”之后查找小數的正則表達式:(Charge ([0-9]*)(\,?[ ]?[0-9])+(.[0-9]+))所以,我想忽略“費用”和小數點之間的任何內容。并顯示十進制數。有什么幫助嗎?情況 2:“18,181.75”有時也可能出現在“Charge”之前。就像“18,181.75 在這里收取一些文字......”
查看完整描述

3 回答

?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

您可以使用 .NET regex unlimited-width lookbehinds:

Regex.Match(s, @"(?<=\bCharge\b.*)\d[\d,]*\.\d+|\d[\d,]*\.\d+(?=.*?\bCharge\b)")

請參閱正則表達式演示

細節

  • (?<=\bCharge\b.*)\d[\d,]*\.\d+- 一個以 a 開頭的位置Charge作為一個完整的單詞,后面有換行符以外的字符,然后匹配一個數字,后跟 0+ 個逗號或數字,然后是一個點和 1+ 個數字

  • |- 或者

  • \d[\d,]*\.\d+(?=.*?\bCharge\b)- 一個數字后跟 0+ 個逗號或數字,然后是一個點和 1+ 個數字,之后應該跟除換行符之外的任何 0+ 個字符,盡可能少,然后Charge是一個完整的單詞

http://img1.sycdn.imooc.com//637b6e9100010eee05780150.jpg

查看完整回答
反對 回復 2022-11-21
?
瀟湘沐

TA貢獻1816條經驗 獲得超6個贊

那這個呢 :

(?<=[Cc]哈爾格。)([0-9] ,[0-9] .[0-9] )|[0-9] ,[0-9] .[0-9] (?= \s [Cc]harge)


查看完整回答
反對 回復 2022-11-21
?
白衣非少年

TA貢獻1155條經驗 獲得超0個贊

下面的正則表達式應該可以幫助你。

Charge.*[0-9]+([,]?[0-9]+)*\.([0-9]){0,2}$

希望這有效。


查看完整回答
反對 回復 2022-11-21
  • 3 回答
  • 0 關注
  • 111 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號