0

正規表現で少し苦労して、文字列に4つのコードがあります

コード4:コード3:コード2:コード1

各コードはCODE1を除いてオプションです

だから私は ab:bc:de:fg を持つことができました

また

bc::fg

ab:::fg

上記の CODE1 = fg dnd のいずれの場合でも、私の愛する人生のために、正規表現を計算できません

標準の文字列解析として実行するのは簡単ですが、残念なことに、ビジネス オブジェクトは regex :-( を介して実行し、vb.net RegEX.matche,groups("Code1") fg を介して返す必要があるため (これにより、検出)

助けてくれてありがとう

仕事をする少しの正規表現になりましたが、少し面倒ですが、機能します

(^(?<code1>[\w]*)$)|(^(?<code2>[\w]*):(?<code1>[\w]*)$)|(^(?<code3>[\w]*):(?<code2>[\w]*):(?<code1>[\w]*)$)|(^(?<code4>[\w]*):(?<code3>[\w]*):(?<code2>[\w]*):(?<code1>[\w]*)$)

たすべて

4

3 に答える 3

4

ここで正規表現を使用する必要はありません。

使用している言語はわかりませんが、文字列を「:」で分割すると、コードの配列が得られます。

文字列がこれに対して有効かどうかを本当に検証したい場合は、

/(\w*:){0,3}\w+/

あなたの説明とあなたが与えたいくつかの例に一致します。

于 2008-12-19T11:06:01.823 に答える
0

コードを右から左に一致させる必要がある理由がわかりません。正規表現を使用して文字列を分離するだけです。

/(.*):(.*):(.*):(.+)/

$4 に CODE1、$3 に CODE2、$2 に CODE3、$1 に CODE4 があります。

于 2008-12-19T11:07:27.483 に答える