var regex = /作.*?者.*?([\u4e00-\u9fa5]+)/i; var array = ["<b>作&bnsp;者:</b><span>明明</span>","作者:明明","<b>作&bnsp;者:</b><span>明明</span>","<b>作者:</b>明明 <b>单位:</b>xx公司"]; for(var i = 0 ; i < array.length ; i ++) { if(regex.test(array[i])) document.write(RegExp.$1+"</br>") }
作者:李四<a>详细信息</a>
或者 作者:张三 李四 合著。
var array = ["<b>作&bnsp;者:</b><span>明明</span>","作者:明明","<b>作&bnsp;者:</b><span>明明</span>","<b>作者:</b>明明 <b>单位:</b>xx公司"];
for(var i = 0 ; i < array.length ; i ++)
{
if(regex.test(array[i])) document.write(RegExp.$1+"</br>")
}
超出这个规则就要另写了
{
string str=@"第一种格式:
作者:明明
年龄:28岁第二种格式:
<p><b>作者:</b>明明</p>
身高:170cm第三种格式:
<b>作&bnsp;者:</b><span>明明</span>
身重:60Kg第四种格式:
<b>作者:</b>明明 <b>单位:</b>xx公司";
foreach(Match m in Regex.Matches(str,@"作(&bnsp;)?者[::].*?(?<name>[\u4e00-\u9fa5]+)"))
{
Console.WriteLine(m.Groups["name"].Value);
}/*
明明
明明
明明
明明
*/
}
这是兔子党执行督察(q107770540)给的解决办法,帖出来共享,感谢之。