如何修复正则表达式间距
How can I fix the regex spacing
我的正则表达式:(?:LD |(?:[a-zILT]+ ?))
我的测试字符串:Green 4 Green 4 Green 7 WI LD Green 9 Green 9 Red 3 Red 3 Red 4 WI LD Draw Four Red 5 Red Reverse Yellow 0 Yellow Skip Green 8 WI LD Draw Four
https://regex101.com/r/aD0oS2/5
如果您在下面查看 regex101 中的 SUBSTITUTION,它 returns:
G4 G4 G7 WG9 G9 R3 R3 R4 WDFR5 RRY0 YSG8 WDF
我该如何解决这个问题?我希望它 return 类似于:
G4 G4 G7 W G9 G9 R3 R3 R4 WDF R5 RR Y0 YS G8 WDF
如果使用 PCRE,(?|...)
表示法允许多个捕获共享相同的捕获编号,如 here.
所示
(W)I LD(?: (D)raw (F)our)?|(D)raw (?|(T)wo|(F)our)|(?:(?|(R)ed|(G)reen|(Y)ellow|(B)lue) (?|(S)kip|(R)everse|(\d)))
替换为
应该给你输出
G4 G4 G7 W G9 G9 R3 R3 R4 WDF R5 RR Y0 YS G8 WDF
您可以看到多个输入案例here。
我也尝试再次使用它,结果是:(?:(?:[a-z]|I LD)| (?!Red|Green|Blue|Yellow|WI LD))
似乎工作正常。
https://regex101.com/r/aD0oS2/6
http://sandbox.onlinephpfunctions.com/code/e8096fbcda5cc5c3878531f069dc0d3af5289852
我的正则表达式:(?:LD |(?:[a-zILT]+ ?))
我的测试字符串:Green 4 Green 4 Green 7 WI LD Green 9 Green 9 Red 3 Red 3 Red 4 WI LD Draw Four Red 5 Red Reverse Yellow 0 Yellow Skip Green 8 WI LD Draw Four
https://regex101.com/r/aD0oS2/5
如果您在下面查看 regex101 中的 SUBSTITUTION,它 returns:
G4 G4 G7 WG9 G9 R3 R3 R4 WDFR5 RRY0 YSG8 WDF
我该如何解决这个问题?我希望它 return 类似于:
G4 G4 G7 W G9 G9 R3 R3 R4 WDF R5 RR Y0 YS G8 WDF
如果使用 PCRE,(?|...)
表示法允许多个捕获共享相同的捕获编号,如 here.
(W)I LD(?: (D)raw (F)our)?|(D)raw (?|(T)wo|(F)our)|(?:(?|(R)ed|(G)reen|(Y)ellow|(B)lue) (?|(S)kip|(R)everse|(\d)))
替换为
应该给你输出
G4 G4 G7 W G9 G9 R3 R3 R4 WDF R5 RR Y0 YS G8 WDF
您可以看到多个输入案例here。
我也尝试再次使用它,结果是:(?:(?:[a-z]|I LD)| (?!Red|Green|Blue|Yellow|WI LD))
似乎工作正常。
https://regex101.com/r/aD0oS2/6
http://sandbox.onlinephpfunctions.com/code/e8096fbcda5cc5c3878531f069dc0d3af5289852