c# - 你能建议一个正则表达式来捕获这段文字吗?

标签 c# regex

请建议一个正则表达式来从下面的输入文本中捕获它:

Match 0:"Modifications made by ... on2011/07/13 06:17:32 from database
keyword: zzzz--> mmmmmm
total_effort: --> 0.00
tmp__effort: --> 0
resolver"

Match 1:"Modifications made by ... on2011/07/13 06:19:32 from database
resolver"

输入文字:

Modifications made by... on 2011/06/21 14:09:14 from database
problem_description: (text value has changed)


Modifications made by ... on2011/07/13 06:17:32 from database
keyword: zzzz--> mmmmmm
total_effort: --> 0.00
tmp__effort: --> 0
resolver: y --> x
total_t_effort: --> 0.00

Modifications made by ... on2011/07/13 06:19:32 from database
resolver: x --> z
total_t_effort: --> 0.00




我试过使用这个 modifications\smade\sby(.|\n)+?resolver 但它给了我不正确的输出:

Match 0:"Modifications made by... on 2011/06/21 14:09:14 from database
problem_description: (text value has changed)


Modifications made by ... on2011/07/13 06:17:32 from database
keyword: zzzz--> mmmmmm
total_effort: --> 0.00
tmp__effort: --> 0
resolver"
Match 1:"Modifications made by ... on2011/07/13 06:19:32 from database
resolver"

使用的选项:IgnoreCase + MultiLine

有人可以帮忙吗?

谢谢!

最佳答案

如果你想为此使用正则表达式,它会变得有点复杂。

尝试

^modifications\smade\sby(.(?!modifications))+?resolver

查看here on Regexr

我删除了 \n 并使用了 Singleline option 代替。

想法是,匹配每个字符直到下一个“解析器”,但前提是该字符后面没有“修改”。因此,我使用了负先行 .(?!modifications)

关于c# - 你能建议一个正则表达式来捕获这段文字吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7564813/

相关文章:

c# - ToString ("ddd") 不适用于缩写为 3 个字符的 DayofWeek

c# - List<struct> 与 List<class> 的性能

c# - DirectX9 中的简单 HLSL 发光/模糊效果

python - 解决 python 正则表达式 bug^H^H^H...咳咳...需要错误功能

javascript - 提取给定 HTML block 中的所有 CSS 类和 ID

r - 是否有 R 函数用相同长度的字符串替换匹配的 RegEx?

c# - 我可以从 MethodDefinition (Cecil) 获取 MethodInfo 吗?

c# - 如何格式化时间跨度以显示总小时数?

PHP 正则表达式主题标签和特殊字符

python - 正则表达式返回 true 且日文字符不正确