您好我有下面的意思,從通過使用ORSSerial串口發送一個字符串,如「167628,79009 \ R」拔出座標NSRegular表達的表達,但是,匹配8,79009代替(\ d {5})替換正則表達式,(\ d + 5) )\ r」它的工作原理,但這個時候提供的座標是一個5位數字,只會是有用的。如果我用d {1,5}我得到同樣的結果用線啓動錨時。NSRegularExpression不匹配錨
的正則表達式是無視錨點。任何建議?
代碼
coordinatePacketRegex = [[NSRegularExpression alloc] initWithPattern:@"^(\\d+),(\\d+)\r"
options:NSRegularExpressionAnchorsMatchLines
error:®exError];
我仍然不明白你爲什麼需要錨定,你能解釋一下嗎? –
當使用NSRegular表達式時,我包含了^錨以確保獲取開始之間的所有數字的行和第一個逗號 - 但這在我的設置中不起作用,如果我規定了多少個數字「\ d {5}」,但是如果座標較小,則不會發生固定數量的數字。正則表達式的第二部分似乎工作,因爲在「,」和「\ r」匹配(如果我試圖做到這一點使用$錨爲行的末尾而不是「\ r」它不' t匹配完整的字符串,我得到「9,7」。 – pjmnoble
我很抱歉,但我仍然不認爲你需要爲此目的的錨點。請參閱下面的答案。 –