0

私は正規表現が苦手です。

私の入力文字列でLT 1 BLK 4 LAKES OF PARKWAY 5 R/P & AMEND

4図形と文字列の間の部分だけを一致させたいと思い5ます。

つまり、私の期待される結果はLAKES OF PARKWAYです。

そのような結果を得るためのパターンを考え出そうとしました。

 \d+\s+([A-z ]+)(\d+.*?)*$

しかし、私のパターンでは、グループ #1 とグループ #2 として、 と のみに一致しますBLK5 R/P & AMEND私の思考パターンの最後に、文字列の末尾の一致を使用することにし$ました。したがって、5 R/P & AMEND一致した場合、ポインターはさらに後方のサブシーケンス部分に移動する必要があります。次に、([A-z ]+)一致する必要がありLAKES OF PARKWAYます。

私のパターンの何が問題になっていますか? そしてそれを機能させる方法は?

アドバイスをいただければ幸いです。

4

1 に答える 1

2

試す\d+\s+(\D+)\d+\D*$

\Dは「ではないものを意味する\dため、たとえば最初の 1 と 4 の間で一致することは許可されません。これは、正規表現の末尾が後で拒否されるため5です。

于 2013-06-13T01:49:17.233 に答える