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