string sourceStr = "左边范围abc<啊啊>def<呵呵>右边范围";
Regex keyWordRegex = new Regex(@"左边范围(\w*<(\w+)>)*右边范围");
foreach (Match match in keyWordRegex.Matches(sourceStr))
{
foreach (Group group in match.Groups)
{
Response.Write(group.Value);
Response.Write("<br />");
}
}
代码是C#的,目的是匹配到“啊啊”与“呵呵”。
以abc与def不固定。
现在得到的结果是
左边范围abc<啊啊>def<呵呵>右边范围
def<呵呵>
呵呵并不是想要的,。
希望大家不吝赐教。
解决方案 »
- 100分!js 动态添加表格行 排列name属性 重新发贴
- 请教一个comboBox的问题
- 如何使图片自适应TD大小。
- 怎样设置超链接页面的‘打印设置’--在线
- 如何用JS实现搜索隐藏的字符?
- 请问<SCRIPT ID=clientEventHandlersVBS LANGUAGE=vbscript>中的ID=clientEventHandlersVBS 是什么意思?
- 求大神指教 关于jq 不懂
- javascript怎么操作EXCLE???
- showModalDialog在ie5下不能返回值,ie6就没问题??
- insertRow(),控制tr背景色
- ul与li放在div中,div加滚动条,用css控制键盘在li上的移动.但div的滚动条,不会跟着动,怎么控制div的滚动条?
- javascript的checkbox全选与反选问题
void Main()
{
string sourceStr = "左边范围abc<啊啊>def<呵呵>右边范围";
Regex keyWordRegex = new Regex(@"左边范围(\w*<(\w+)>)*右边范围");
foreach (Match match in keyWordRegex.Matches(sourceStr))
{
foreach (Capture c in match.Groups[2].Captures)
{
Console.WriteLine(c.Value);
}
}
/*
啊啊
呵呵
*/
}
你应该取 Groups[2]的Captures内的值
JS的例子:var s = "#abc<11>def<22>#";
if(/#((:?[^<>]*<[^<>]+>)*)#/g.test(s)){
var arr = RegExp.$1.match(/[^<>]*<([^<>]+)>/g);
alert(arr.join(","));
}楼主可参考,只是这里的match没c#那么强大