簡體   English   中英

卡在正則表達式上

[英]Stuck with Regex

我堅持使用正則表達式。 我在下面一行

blah blah blah; Installation started ; END OK; Execution Return Code: 0   ;

我正在嘗試捕獲返回碼。 但是有些返回碼的前面帶有減號。 例子-2231134

我似乎無法提出一個正則表達式,如果返回代碼的前面或后面都沒有,它將捕獲。

下面的正則表達式可以在前面帶有減號的情況下使用。 如果我刪除了該點,它將沒有減號。

(Execution Return Code:\D.\d+)
"/Execution Return Code:\s*(-\d+)/i"

我想最簡單的就是執行以下操作

Execution Return Code: (\S)

檢索整個字段,因為字段分隔符似乎是; ,我建議使用Execution Return Code:[^;]*

如果您只想檢索數字(帶有可選符號),並假設空格數是可變的,則可以使用以下任一方法:

  • 第一組Execution Return Code:\\s*(-?\\d+)如果選擇一個組很簡單)

  • 如果可以使用lookbehind,則(?<=Execution Return Code:)\\s*-?\\d+ (請注意,由於lookbehinds必須為固定寬度,因此它仍可能返回前導空格)

在@ rock321987的幫助下

(執行返回代碼:\\ D *([-]?\\ d +))

給我正確的返回碼。

謝謝大家。

暫無
暫無

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

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