要匹配出一个必有的条目str_3,和两个肯能没有,也可能有其一或二的条目,str_1,str_2:...(str_1)(str_2)<a>str_3</a>...括号和str_1,str_2同时出现。 能否一次匹配出来,如何做?
解决方案 »
- 怎样让gridview的下拉条在鼠标滚动时不滚动,鼠标点击到滚动条上下拉时才滚动?
- 【。.[]】c# form里面的listBox控件里item有data属性吗?
- 求救、、、C#如何将数据写入txt文件
- WPF中为什么设置窗体的opacity属性为0窗体会编程黑色?
- 建立C#数据库动态表名
- 怎样用C#写个与WINDOWS自带的放大镜功能相似的程序
- 如何对listView的某列进行排序?
- 刚接个项目,客户出的钱少又想要原代码。我不想给,怎么和客户谈?
- 只有一个form1窗体我的"关闭"按钮怎么关不掉窗体啊
- 这个问题可以解决吗?
- 如何访问webBrowser控件中的HTM控件?
- 终于知道C#为什么这么流行了
是的。那他们之间总有个什么字符隔开吧,否则怎么分辨出来?
下面当成是用,号隔开。
(?:(?<str1>[^,<]*),)?(?<str2>[^<]*)?<a>(?<str3>[^<]*)</a>
Regex rr = new Regex(@"\((.*?)\)?\((.*?)\)?<a>(.*?)</a>");
我前面没有说清楚,是这样。如果只有一个圆括号,里面就str1;两个的话,就是str1,str2。现在要str1,str2, 不要圆括号怎么做。
上面的似乎把括号丢了?如果写成
(?:\((?<str1>[^)]*)\))?
能匹配出 str1 不?
(?:\((?<str1>[^)]*)\))?
?:不记录这个捕获组
\(左括号
(?<str1>[^)]*)以str1命名的捕获组匹配0个以上非右括号字符
\)右括号
?匹配0或1个整个括号里的内容
(? <str1>[^)]*)你指的是这里面的吗?
<>在这里是成对出现的,(?<命名捕获组>...)
其实str1用什么表示都可以吧.