我會盡力更好地解釋我自己;-)。JavaScript RegExp語法問題
我正在使用RegexBuddy嘗試查找解決方案。 目標是Konfabulator小部件中的JavaScript。
我需要解析該字符串是:
+++++++++++++++++++++ RUNWAY ++++++++++++++++++++++++++++++
1A1093/11 VALID: 1107140300 - 1108301500
DAILY 0300-1500
WIP 90M S OF RWY 08/26 AT E, W1, W2.
NO RESTRICTION DRG TKOF/LDG OR TAX.
1A994/11 VALID: 1106201300 - 1112312059
PAPI RWY 08 NOT OPR WHEN ILS APCH IN USE. OPR WHEN VIS APCH IN
USE.
1A987/11 VALID: 1106190615 - UFN
ILS DME RWY 08 BC 110.90MHZ CH46X OPR.
+++
最終的結果應該是以下3子串:
子串1)
1A1093/11 VALID: 1107140300 - 1108301500
DAILY 0300-1500
WIP 90M S OF RWY 08/26 AT E, W1, W2.
NO RESTRICTION DRG TKOF/LDG OR TAX.
子串2)
1A994/11 VALID: 1106201300 - 1112312059
PAPI RWY 08 NOT OPR WHEN ILS APCH IN USE. OPR WHEN VIS APCH IN
USE.
子串3)
1A987/11 VALID: 1106190615 - UFN
ILS DME RWY 08 BC 110.90MHZ CH46X OPR.
正如你可以看到每個部分有類似的東西開始「1A987/11有效的:」這是我現在用的這個正則表達式發現:
[0-9A-Z]{3,6}/\d{2}\s{1,3}VALID:
每個部分與結尾的 「1A987/11 VALID:」 下一個部分的或用 「+++」 我正在使用此正則表達式發現:
([0-9A-Z]{3,6}/\d{2}\s{1,3}VALID:)|(\+{3})
的字符之間是[\ S \ S] +? 「。」由於某種原因不起作用。
所以完整的正則表達式是:
[0-9A-Z]{3,6}/\d{2}\s{1,3}VALID:[\s\S]+?(([0-9A-Z]{3,6}/\d{2}\\s{1,3}VALID:)|(\+{3}))
現在,因爲串1的到底是子2的開始,使用RegexBuddy沒有找到子串2,只有串1和3被發現。
我正在尋找一種方法來查找所有3個子字符串,因此一種方法來查找每個子字符串的結束,但將其從字符串本身排除。
這是用於NOTAM解碼器嗎? –