【发布时间】:2017-11-08 15:10:37
【问题描述】:
我正在检查一些结果并从文档中传递两个输入,两个输入看起来相同,但为什么它们返回不同的输出。 我的正则表达式是
(?<preandconjunct>(?:\b([Ss]ubsection|[Ss]ection|[Aa]rticle) +)(?<conjunct>(?:(?<level>(?:(?:[IVXivx]{1,5}(?![A-Z]))|(?:[A-Z]{1,2}(?![A-Z]))|(?:[0-9]+)))|(?<level>\((?:(?:[IVXivx]{1,5}(?![A-Z]))|(?:[A-Z]{1,2}(?![A-Z]))|(?:(?!in|or|if|of|to|as|at|it|no|an)[a-z]{1,2}(?![a-z]))|(?:[0-9]+))\))|(?<level>[\.-](?:(?:[IVXivx]{1,5}(?![A-Z]))|(?:[A-Z]{1,2}(?![A-Z]))|(?:[0-9]+))))+)(?=$|[ ,;.)]))
两个输入是
第 3.1 条(应仅受第 3.1 条管辖)或第 11.3(b) 条规定的争议,第 XI 条和第 XII 条的赔偿条款是唯一和排他的补救措施根据本协议或与本协议所设想的交易有关的各方。在法律允许的最大范围内和之后,除基于故意欺诈的索赔外,第 3.1 条下的争议(应仅受第 3.1 条管辖),
和
第 3.1 条(应仅受第 3.1 条管辖)或第 11.3(b) 条规定的争议,第 XI 条和第 XII 条的赔偿条款是唯一和排他的补救措施根据本协议或与本协议所设想的交易有关的各方。在法律允许的最大范围内,在法律允许的最大范围内,除基于故意欺诈的索赔外,第 3.1 条下的争议(应仅受第 3.1 条管辖),
我也期待
第 3.1 节
第 3.1 节
第 11.3(b) 节
第十一条
第十二条
第 3.1 节
第 3.1 节
最后一个没有出现在第一个输入中。
【问题讨论】:
-
看,it matches well(在regexstorm.net/tester获得相同的结果)。
-
所以你基本上是在问这两个文本之间有什么区别?答案是,没有。
-
好吧,如果他们为同一个正则表达式返回不同的输出 - 它们是不一样的。检查空格的差异,也许是一些不可见的字符等等。
-
是的,你们是对的。我有十进制字符 160 而不是 32。我怎样才能捕获各种空格,例如 \s 没有捕获 160(十六进制中的 \u00A0)。
-
^^^ 是的,所以它是一个不可打印的字符。去搞清楚。我建议您编辑您的问题,以解释真正的问题。