0

これは正規表現の簡単な仕事です。私はこのモデルに基づいて構築された文字列に取り組んでいます: elem1/elem2@attr(単語文字で構成され/@セパレータとして使用されます)。

elem1/elem2、の 3 つの部分をキャプチャしようとして@attrいますが、有効な文字列では 3 つの部分のいずれかを省略できることがわかっています (ただし、区切りの順序は尊重する必要があります)。

私はこの正規表現を思いつきました:

^(\w+\/)?(\w+)?(@\w+?)$

ただし、最後の部分 が存在する場合にのみ機能し@attrます。これらの文字列にも一致するソリューションが必要です: elem1/, elem2, elem1/elem2.

何か案が?

4

2 に答える 2

2

あなたが失った?=)正規表現を使用する:

^(\w+\/)?(\w+)?(@\w+?)?$
于 2012-07-05T14:12:40.070 に答える
1

あなたの正規表現は^(\w+\/)?(\w+)?(@\w+)?$

于 2012-07-05T14:15:46.857 に答える