c# - 如何跳过字符串之间的字符?
问题描述
我对正则表达式很陌生,我需要从包含在' '
使用正则表达式能够获取值,但 '
在中间有三分之一时会出现异常' '
。
变量规则包含整个字符串
IEnumerable<string> possibleValues = Regex
.Matches(rule, @"'(?<val>.*?)'")
.Cast<System.Text.RegularExpressions.Match>()
.Select(match => match.Groups["val"].Value)
.ToArray();
传递以下字符串时
规则:“街道地址”
必须是“Samir Complex, 4th Floor, St Andrew's Road, Bandra (West)”(默认值)
预期值为Street Address and Samir Complex, 4th Floor, St Andrew's Road, Bandra (West)
但获得街道地址和 萨米尔综合大楼,4 楼,圣安德鲁
解决方案
匹配撇号时,您不想匹配每一个:在您的情况下'
,Andrew's
应该跳过 inside。您可以尝试检查单词边界;请参阅正则表达式中 \b 和 \B 之间的区别中的详细信息
@"'(?<val>.*?)'\B"
代码:
string[] possibleValues = Regex
.Matches(rule, @"'(?<val>.*?)'\B")
.Cast<Match>()
.Select(match => match.Groups["val"].Value)
.ToArray();
推荐阅读
- azure - 如何为 api.partner.microsoft.com 生成令牌以访问合作伙伴中心的 Sell 菜单下的 Price 和 Offer
- javascript - 如何在js中创建2个按钮播放,暂停
- bash - 在bash脚本中执行sudo命令而不显示它
- postgresql - 将 Oracle upsert 转换为 PostgreSQL 准备好的语句
- python - 如何在访问当前目录的文件的不同目录中运行 Python 脚本(请参阅解释问题的示例)
- apache-kafka - 当生产者 ACK=-1(ALL) 和 unclean.leader.election.enable 设置为 True 时,Kafka 中是否存在数据丢失的可能性
- bash - 我有一个代码读取 git log 返回以下错误
- xml - 我在 TEI XML 中的关键版本没有在 DOCX 中使用 OxGarage 或 GitHub 上的 TEI 样式表显示任何脚注
- ios - 离子 ios 电容器闪屏工作,但无法添加图像
- javascript - 找到将 N 个不同的球分配到 M 个不同的桶中的所有排列的最快算法?