谁能告诉我正则表达式?更新

时间:2012-09-06 10:50:07

标签: regex

我在vistal studio和this site中尝试了很多语法,但没有任何帮助。 表达式为_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个数字,并将其替换为隐藏字段中的值。 < / p>

我该怎么做?

2 个答案:

答案 0 :(得分:0)

/_ct\d*_/

这是您给定问题的正则表达式语法。试试这个

答案 1 :(得分: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);