大佬们求个正则

xiaojunjor 2018-06-21 01:59:53
字符串是类似“班级数-(46人至50人班级数+51人至55人班级数)”,其他的我在代码里加了点注释

var formulas = Regex.Split(model.Formula, ValidationRule.FormulaRegex); //取出“班级数”,“46人至50人班级数”,“51人至55人班级数”组成的数组
string temp = model.Formula;
foreach (var name in formulas)
{
if (string.IsNullOrWhiteSpace(name))
{
continue;
}
ReportItem ri = model.ReportItems.SingleOrDefault(s => s.Name == name);
if (ri == null)
{
continue;
}
temp = Regex.Replace(temp, $"\b{name}\b", ri.ShortName); //用另一个字符串替换当前的变量


\b只能匹配单词的边界,中文边界匹配不了,求个正则匹配这种中文词语变量。。
...全文
207 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaojunjor 2018-06-26
  • 打赏
  • 举报
回复
引用 5 楼 xuzuning 的回复:
从你的提问中并未看出有这一需求

我用运算符号左边界匹配了
threenewbee 2018-06-22
  • 打赏
  • 举报
回复
$"[\b ]{name}[\b ]"
xuzuning 2018-06-22
  • 打赏
  • 举报
回复
xuzuning 2018-06-22
  • 打赏
  • 举报
回复
从你的提问中并未看出有这一需求
xiaojunjor 2018-06-22
  • 打赏
  • 举报
回复
引用 3 楼 xuzuning 的回复:

我要是匹配某一项的时候不匹配另两项,不是要把三项匹配出来
token不能为空 2018-06-21
  • 打赏
  • 举报
回复
正则没有中文边界元字符,你这个数据样本我没看出来name在哪里

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧