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

问一个关于正则表达式匹配的有关问题

2011-12-22 
问一个关于正则表达式匹配的问题matchstrx(y MatchCollectionmcRegex.Matches(targetstr,matchstr)

问一个关于正则表达式匹配的问题
matchstr   =   "x(   y ";
MatchCollection   mc   =   Regex.Matches(targetstr,matchstr);

异常是:
System.ArgumentException   was   unhandled
    Message= "parsing   "x(   y "   -   Not   enough   ) 's. "
可是原来的字符串里就是半边括号,而且送入的是字符串,为什么会抛出异常呢?


[解决办法]
匹配( 要转义 \(
[解决办法]
\(
[解决办法]
转义\(
[解决办法]
看下MSDN
ms-help://MS.MSDNQTR.v80.chs/MS.MSDN.v80/MS.VisualStudio.v80.chs/dv_fxfund/html/f49cc9cc-db7d-4058-8b8a-422bc08b29b0.htm

不过这个也不全,有些特定场合,还是些字符是需要转义的
[解决办法]
ExplicitCapture(显式捕获) 仅捕获已被显式命名的组。
这个参数跟转义没关系,这些需要转义的字符,你不转义,程序又如何知道哪些是要匹配字符本身的,哪些是用做特殊意义的,所以需要转义的,在匹配它本身时,一定要转义
[解决办法]
不用转换就不是regex的语法了,你干脆使用string.indexof来查找得了。

热点排行