我正在使用POSIX正则表达式,并试图捕捉字符串中给定模式的所有出现。
字符串是
N2800 W08700-N2730 W08430-N2645 W08415-N2500 W08630-N2430>>W08900-N2630 W08845-N2800 W08700. TOP FL360. MOV NE 5KT. WKN.
我尝试了以下操作,但它只匹配第一次出现(N2800 W08700):
([NS]\d{4}(\s|>>)[EW]\d{5}){1,11}
最后的{1,11}
不是说要在1到11次之间匹配模式吗?
1条答案
按热度按时间pbpqsu0x1#
\d
不是POSIX。{1,11}
表示1到11个 * 连续 * 匹配,但在第一个匹配之后有-
。试试([NS]\d{4}(\s|>>)[EW]\d{5}-?){1,11}
请注意,
-P
选择Perl regexp。