我想把文字放在括号里。例如:
(a)除收货时须付给卖方的货款外,未核证的买方支票,以${未经核证的支票限额}为限;及
(b) {根据“纽约市行政法”在关闭前产生并以金钱支付的所有影响房地的义务应由卖方在关闭时或之前解除。
卖方的陈述。
我想从这篇文章中得到:
我当前的regex {(.*?)}不适用于新行。
我该怎么修改它?
发布于 2018-01-20 12:36:11
除换行符外,该点显式匹配任何字符。使用RegexOptions.Singleline更改此行为,并使点匹配任何字符。
var regex = new Regex("{(.*?)}", RegexOptions.Singleline);基于RegexOptions.Singleline的MSDN
指定单行模式。更改点(.)的含义。因此它匹配每个字符(而不是除\n以外的每个字符)。
示例中的换行符在html中消失了,因此产生了误解。
发布于 2018-01-21 05:33:09
我可以建议您使用像{[^}]+}这样的正则表达式,Regex可以在新的行上正常工作!
var result = Regex.Matches(txt, @"{[^}]+}")
.OfType<Match>().Select(c => c.Value).ToList();[ C# Fiddle Demo ]
https://stackoverflow.com/questions/48355957
复制相似问题