對於可能是明顯的答案的道歉!我試圖在adb Logcat流(即時)上運行Perl搜索以在找到特定字符串時退出。我要找(這是文本的一個較大的生產線的一部分)是這個字符串...Perl REGEX,在匹配字符串中的非字母數字時遇到問題
RIL(1) :[0129]< OPERATOR {O2 -UK, 23410, 23410}
我在做一個正則表達式幾次嘗試,但還是我的腳本只是沒有檢測到它,這是我的下面
m/RIL\(1\)\s\:\[[\d+]\]\<\sOPERATOR\s\{[\w+]\,\s[\d+]\,\s[\d+]\}/
文本的全部亞行logcat行最新嘗試是這樣的......
D/RILJ ( 663): RIL(1) :[0129]< OPERATOR {O2 -UK, 23410, 23410}
我的劇本是好的,因爲它與其他字符串的作品,這只是我的正則表達式是有點壞,因爲我我對它很陌生。
任何幫助將不勝感激。
感謝, MikG
謝謝納撒尼爾,我以前的錯誤現在看起來很明顯,希望我能通過練習變得更好。事實上,看起來主要的絆腳石是字符串中的'O2 -UK'部分,所以使用'[^,] +'的建議來解決問題(除了我的其他初學者錯誤!)。再次感謝! – MikG
不要氣餒!正則表達式是一個很棒的工具,但是學習曲線很陡峭。調試的一個好的開始是將你的非工作正則表達式切成小塊。 (我用「OPERATOR」把所有的東西都運行起來,並且它很有效,所以後來我知道在下半場更仔細一些。) –