首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

请问正则表达式遇到的有关问题

2012-04-26 
请教正则表达式遇到的问题字符串 fooood.使用正则表达式 f(?nameo{2}) 匹配时程序中写了varName tex

请教正则表达式遇到的问题
字符串 "fooood".
使用正则表达式 f(?<name>o{2}) 匹配时
程序中写了
varName = textbox1.text;
xxx.groups[varName].value 可以获得值
xxx.groups[1].value 也可以获得值,但这个时候 将文本值赋值为 1,即 varName="1" 则不可获取到捕获的值

但是不指定 组名,也就是 f(o{2})时,将文本赋值为 1 却可以捕获到值。。

而 写成 f(?<name>(o{2})) ,不管文本是 1 还是 name 都是可以的。。

不知道为什么了。。


[解决办法]
老大,你那个字符的“1”和数字的1是一回事吗,数字是下标,“1”是名字,你哪有名字为1的组啊
[解决办法]

探讨
字符串 "fooood".
使用正则表达式 f(?<name>o{2}) 匹配时
程序中写了
varName = textbox1.text;
xxx.groups[varName].value 可以获得值
xxx.groups[1].value 也可以获得值,但这个时候 将文本值赋值为 1,即 varName="1" 则不可获取到捕获的值

但是不指定 组名,也就是 f(o{2})……

[解决办法]
xxx.groups[varName].Value中的varName是字符串变量啊,相当于xxx.groups["1"].Value,因为没有名字为1的分组,当然获取不都啊。
[解决办法]

f(?<name>o{2})

--------------》

ma.Groups["name"].Value
ma.Groups[1].Value

这两种都能匹配oo

----------------------------

 f(o{2})

----->

ma.Groups[1].Value

这种能匹配oo

[解决办法]
探讨

xxx.groups[varName].Value中的varName是字符串变量啊,相当于xxx.groups["1"].Value,因为没有名字为1的分组,当然获取不都啊。

[解决办法]
不指定组名,系统会有默认值,你好好看看帮助
0,1,2都会有系统指定相同的name即 “0”,“1”,“2”
[解决办法]
探讨
引用:

xxx.groups[varName].Value中的varName是字符串变量啊,相当于xxx.groups["1"].Value,因为没有名字为1的分组,当然获取不都啊。

他要的就是这个解释,因为根本都不存在"1"这个捕获组,xxx.groups[varName].Value这样写是有varName这个捕获组

热点排行