请教正则表达式遇到的问题
字符串 "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的组啊
------解决方案--------------------
------解决方案--------------------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
------解决方案--------------------
------解决方案--------------------不指定组名,系统会有默认值,你好好看看帮助
0,1,2都会有系统指定相同的name即 “0”,“1”,“2”
------解决方案--------------------