0

私はvistalスタジオとこのサイトで多くの構文を試しましたが、何も役に立ちませんでした. _ct_(anyDigitHere)_ のような表現になります

 adkasjflasdjfsdf asdfkl sjfdsf _ct150_ asdfasd // so it would match this _ct150

any thing here doens't matter Random stuff..afd a&r9qwr89 ((
_ct415487_ anything here doesn't matter // this will match _ct415487_

基本的に任意_ctAndAnyNumberHere_(開始と終了にアンダースコア)
私が試したカップル^*(_ct)(:z)(+_)+*$, ^*(_ct[0-9]+_)+*$. しかし、どれも役に立ちません!

編集 返信ありがとうございます。それはうまくいきましたが、私が今問題としているのは、それらの一致した要素を非表示のフィールド値に置き換えることです..言う..

非表示フィールドの値が1数字 (0 ~ 9 の任意の値) の場合、last一致した式から数字を取得し、非表示フィールドの値に置き換える必要があります。

非表示フィールドの値が2数字 (0 ~ 99 の任意の値) の場合、last two一致した式から数字を取得し、それを非表示フィールドの値に置き換える必要があります。

だから基本的に..

非表示フィールドの値がn数字のlast n場合、一致した式から数字を取得し、非表示フィールドの値に置き換える必要があります。

それ、どうやったら出来るの?

4

2 に答える 2

0
/_ct\d*_/

これは、特定の問題の正規表現構文です。これを試して

于 2012-09-06T10:56:10.347 に答える
0

あなたが話しているビジュアルスタジオの言語はわかりませんが、これはうまくいくはずです:

_ct\d+_

またはこれ:

_ct([0-9]+)_

編集:

Regex rg = new Regex("_ct([0-9]+)_");
string text = "any thing here doens't matter Random stuff..afd a&r9qwr89 ((_ct415487_ anything here doesn't matter";
var match = rg.Match(text).Groups[1].Value;
int sizeHiddenField = HiddenField1.Value.Length;

var newString = text.Replace(match, match.Substring(0, match.Length - sizeHiddenField) + HiddenField1.Value);
于 2012-09-06T10:56:46.450 に答える