カム・カム:
Javaでは、私は正規表現を使用して最後に「=」「〜」と含む文字列を検証する必要があります。
例えば:
LOCKER=2004-02-23-23.28.22.377655~UCC=0103207031~URY=31/12/9999~URF=23/02/2004~URT=SEREST ISSY LES MO ~URFC=XX~URFNUMCB=XXXXXXXXXXX~CEB=XXXXX~CEBC=XXXXX~URFN=0001
この文字列の形式は、KEY1 = VALUE〜KEY2 = VALUE〜KEYN = VALUE大文字
「〜」セパレータとしてあります
現在、私はいくつかの定期的なexpresionが、私は喜ばそれらのすべて偽缶誰の助けを使用していますか?高度をありがとうございました
アンドレアス:
次の正規表現は、実行する必要があります。
^(?!~)(?:(?:^|~)[^=~]+=[^=~]*)+$
説明
^ Match beginning-of-input, i.e. matching must start at beginning
(?!~) Input cannot start with `~`
(?: Repeat 1 or more times:
(?:^|~) Match beginning of input or match '~', i.e. match nothing on
first repetition, and match `~` on each subsequent repetition
[^=~]+ Match KEY
= Match '='
[^=~]* Match VALUE (may be blank)
)+
$ Match end-of-input, i.e. matching must cover all input
変更キーと値のための文字クラスは、彼らがさらに制限、例えば、使用している場合、必要に応じて[A-Z][A-Z0-9]*
代わりのを[^=~]+
KEYが大文字のみの識別子である必要があります。
Javaのを使用している場合はmatches()
正規表現で、最初^
とエンディングは$
冗長です。第二は^
、まだ必要です。