正则表达式获取子字符串,包括开始值和结束值
本文关键字:开始 结束 包括 获取 字符串 正则表达式 | 更新日期: 2023-09-27 18:32:52
我想使用正则表达式来提取一个包含开头和结束值的字符串。
例如:
Regex regex = new Regex("A Bylaw(.*?)" + @"'.");
var v = regex.Match("blah blah blah A Bylaw to provide for the government and management of the Water Works System in the City and the collection of Rents, Rates, and charges for water. blah blah blah");
这将返回:
为自来水系统提供政府和管理 在城市和收取租金、费率和水费
我正在寻找:
规定水务和管理的章程 城市工程系统以及租金、差饷和 水费。
只需更改正则表达式即可包含它们
Regex regex = new Regex(@"A (Bylaw.+?'.)");
http://rubular.com/r/4GRUECzqfx
Regex regex = new Regex("(?i)A Bylaw(.*)''.");
这为您提供了不为"A Bylaw"的情况而烦恼的比赛结果。
如果您通过的文本有"附则",那么这非常有效。
@Sam 我是,感谢您发布的链接。
据我了解,您尝试从文本中提取包含关键字的短语,为此,您可以使用: var regex = new Regex(@"('.|^)?([^.]*Bylaw.*?('.|$))");
https://regex101.com/r/KjxWWC/1
-
('.|^)?
将匹配文本的点或开头,对第一个短语有用 -
[^.]*
将匹配任何不是点的内容 -
Bylaw
就是您要搜索的内容 -
.*?
将匹配任何东西,直到... -
('.|$)
将匹配短语的结束点
请注意,如果您在文本var matches = regex.Matches("...")
上使用它,则结果将以 matches[n].Groups[1]
.