我正在检查一些结果并从文档传递两个输入,两个输入看起来相同,但为什么它们返回不同的输出。 我的正则表达式是
'<meta http-equiv="refresh" content="0;URL=https://en.wikipedia.org/wiki/'.$_GET['w'].'"/>';
并且两个输入是
根据第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节
最后一个没有出现在第一个输入中。
答案 0 :(得分:0)
最后一个没有出现在第一个输入
获取所有角色的一种方法是消耗一个锚角色。例如,取文blah blah Section 3.1 (governed by Section 3.1)
。我们有三个锚,Section
,(
和)
。让我们根据这些文字锚点创建一个模式。
我现在将评论我的正则表达式模式,它需要IgnorePattnerWhiteSpace
才能在正则表达式解析器中正常工作。
(((Sub)?Section)|Article)\s+ # Anchor of Section or Article or Subsection
(?<Number>[^\s]+) # Number involved
\s+
\( # Anchor of '('
(?<Conjuct>[^)]+) # Consume til next anchor
\) # ')' anchor.
通过使用不设置[^ ]
,我们可以使用不结束)
锚点的任何时髦字符。我们的匹配结果看起来像这样
为什么他们会返回不同的输出。
你需要通过查看所提到的文字锚来使捕获更简单。甚至可以通过首先创建文本的一般标记来执行两遍正则表达式,并且在第二个正则表达式传递时,从标记中提取特定项目?
同样对我的模式进行评论并对其中的各个部分进行评估,一旦各个项目正在工作,将整个模式整合在一起。