Regex 将多个环视正则表达式与捕获组相结合
给定一个字符串Regex 将多个环视正则表达式与捕获组相结合,regex,pcre,regex-lookarounds,Regex,Pcre,Regex Lookarounds,给定一个字符串 @1=a@2=b@3=c@4=d>@1=a@2=b@3=c1@4=d 我想捕获@3和@4之间的内容,然后断言字符串的第二部分中的值(本例中为c)不同 为了做到这一点,我想出了 @3=((?:\w |-|'|“,|\)+?)@4=d.+(?为什么您的模式不起作用?它在末尾包含3个环视框:(?@1=a@2=b@3=c1@4=dstring,正则表达式匹配并捕获c,因为它不等于与第二个[\w',.-]*匹配的c1子字符串 详细信息 @3=-a@3=子字符串 ([\w',.-]*)-第
@1=a@2=b@3=c@4=d>@1=a@2=b@3=c1@4=d
我想捕获@3和@4之间的内容,然后断言字符串的第二部分中的值(本例中为c)不同
为了做到这一点,我想出了
@3=((?:\w |-|'|“,|\)+?)@4=d.+(?为什么您的模式不起作用?它在末尾包含3个环视框:(?@1=a@2=b@3=c1@4=d
string,正则表达式匹配并捕获c
,因为它不等于与第二个[\w',.-]*
匹配的c1
子字符串
详细信息
@3=
-a@3=
子字符串
([\w',.-]*)
-第1组:零个或多个字符,它们是字母、数字、
、、“
、、、
或-
@4=d
-文本@4=d
子字符串
*?
-除换行符以外的任何0+字符尽可能少
>
-a>
子字符串
*?
-除换行符以外的任何0+字符尽可能少
@3=
-a@3=
子字符串
(?!\1@)
-如果紧靠当前位置右侧的文本等于组1中捕获的文本,并且后跟@
[\w',.-]*
-零个或多个字符,它们是字母、数字、
、
、“
、、
或-
@4=d
-文本@4=d
子字符串
试试这个模式:
(?>)+(?ur regex@3=(?:\w-?)+?)@4=d+(?他问我为什么这没有帮助?谢谢,但我不想这样做match@mohit对不起,我更新了答案。解释与前一个非常相似:)您可以删除否决票:)请注意,@
在中已经足够了(?!\1@)
lookahead,因为值所包含的预期字符([\w',.-]
)不包括符号。(?)\1@4)
或(?)\1@4=)
将在此处执行相同的操作。
@3=([\w'",.-]*)@4=d.*?>>.*?@3=(?!\1@)[\w'",.-]*@4=d