我想使用正则表达式来提取包含开始值和结束值的字符串。
例如:
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");
返回:
提供水务系统的政府和管理 在城市和收集租金,价格和水费
我正在寻找:
规定政府和水管理的章程 城市中的工作系统以及租金,费率和收入 收费水。
答案 0 :(得分:1)
答案 1 :(得分:0)
Regex regex = new Regex(“(?i)A Bylaw(。*)\。”);
这为您提供了不打扰“A章程”案例的匹配结果。
如果您传递的文字有“A BYLAW”,那么这完全有效..
@Sam我很感谢您发布的链接。
答案 2 :(得分:0)
据我了解,您尝试从文本中提取包含关键字的短语,为此,您可以使用:var regex = new Regex(@"(\.|^)?([^.]*Bylaw.*?(\.|$))");
https://regex101.com/r/KjxWWC/1
(\.|^)?
将匹配文字的点或开头,对第一个短语[^.]*
将匹配任何不是点Bylaw
正在搜索.*?
将匹配任何内容,直到...... (\.|$)
将匹配短语请注意,如果您在文字var matches = regex.Matches("...")
上使用该结果,则结果将显示在matches[n].Groups[1]
。