2012-09-06 2 views
0

나는 vistal 스튜디오에서 많은 구문을 시도했지만 this site에는 아무런 도움이되지 않았습니다. 표현은 기본적으로아무에게도 이것에 대한 정규 표현을 말할 수 있습니까? 업데이트 됨

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_(anyDigitHere)_
내가 ^*(_ct)(:z)(+_)+*$, ^*(_ct[0-9]+_)+*$ 시도 부부 (시작과 끝 부분에 밑줄). 하지만 아무도 도움이 안돼!

수정 답장을 보내 주셔서 감사합니다. 그게 작동하지만, 지금 내가 문제는 그 일치 요소를 숨겨진 필드 값으로 바꿉니다. 말 ..

숨겨진 필드의 값이 1 자릿수 (0-9의 모든 값)이면 I 일치하는 표현식에서 last 자릿수를 가져와 숨겨진 필드의 값으로 바꿔야합니다.

숨겨진 필드의 값이 2 인 경우 (0-99의 모든 값) 일치하는 표현에서 last two 자릿수를 가져온 다음 숨겨진 필드의 값으로 바꿔야합니다.

그래서, 기본적으로 ... 숨겨진 필드의 값이 n 자리입니다

경우, 그 일치하는 표현에서 last n 숫자를 가지고 숨겨진 필드의 값으로 대체해야합니다.

어떻게하면됩니까?

+0

이렇게 :'^. * (_ ct [0-9] + _). * $'? 그렇다면 점을 놓치고있는 것입니다. 이것은 전체 입력과 일치하고'_ctXXX_' 부분을 캡처합니다. '_ctXXX_' 부분 만 일치시키는 것은 아래의 답과 같습니다. –

+0

@EugeneRyabtsev : 예, 질문을 게시 한 직후에 알아 냈습니다. 하지만 뭔가 다른 것이 필요합니다. 변경 사항을 반영하기 위해 질문을 업데이트했습니다 .. – Razort4x

+0

너무 늦었지만 전에 질문을 업데이트했습니다. –

답변

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); 
+0

고마워! 그게 효과가 있었지만 다른 것도 필요합니다. 질문을 업데이트했습니다. 도와 주실 수 있으시겠습니까? – Razort4x

+0

답변도 업데이트되었습니다. :) –

0
/_ct\d*_/ 

이것은 주어진 문제에 대한 정규 표현식 구문입니다. 보십시오이

관련 문제