日期:2014-05-19  浏览次数:20820 次

C#如何在正则表达式中判断符合某个格式?
title{ '0 '}和title{0},这里要判断,{}中是纯数字?还是 ' '符号中包含数字 '0 '?
其中0是可以是任意正整数。
最好通过一步能够实现,如分开实现则是:
第一步,取得{}中的值。
第二步,判断{}中的值是否为数字。

------解决方案--------------------
string S = "title{2007} ";
Text = Regex.Match(S, @ "title\{(\d*)\} ").Result( "$1 ");

------解决方案--------------------
title\{(? <s1> [ " " ']?)(\d+)\k <s1> \}
这样似乎可以。
----------------------------------

这要看你的应用环境,在cs程序里这样写没问题,但是\k <s1> 这种反向引用方式并不是什么环境都支持的,一般反向引用还是用\1、\2这样的方式通用一些

title\{([ " " ']?)(\d+)\1\}

------解决方案--------------------
过兄弟,你起得好早啊,
-----------

-_-#,这个,不早了吧,太阳都晒PP了
哦,对了,那是一年前,当时偶的窗子朝东开,现在的窗子是朝西开的^_^