在以下情况下我需要帮助: pr_zip匹配'someregexhere'
问题是我返回72701并且我不想退回此zip。我只想退回这些拉链。
我想过做这样的事情
7(190)%|。?。?7(191)%| 7(1949)|。???7(195)7%(1949)%
但这似乎很笨拙,必须有更好的方法。
'7 [1,2,5] [0,7,8,9,5] [0-9] [0-9]%')
这不起作用,因为它比我需要的拉码更多。
有人有想法吗?
71901%
71902%
71903%
71909%
71910%
71913%
71914%
71949%
71951%
71956%
71964%
71968%
72087%
71834%
71937%
71839%
71840%
71854%
71724%
71730%
71731%
71747%
71749%
71750%
71758%
71759%
71762%
71765%
71768%
75501%
75503%
75504%
75505%
75507%
75559%
75561%
75567%
75569%
75570%
75573%
75574%
75599%
答案 0 :(得分:3)
没有理由对此进行细致处理;只使用一个普通的旧的交替:
\b(71901|71902|...etc)\b
尝试"最小化"正则表达式只能实现拉链的混淆,这使得正则表达式的阅读和维护几乎不可能。
答案 1 :(得分:0)
你走了。
你可以使用一个漂亮的小工具为你做Strings to Regex
7(?:1(?:7(?:24|3[01]|4[79]|5[089]|6[258])|8(?:3[49]|40|54)|9(?:0[1239]|1[034]|37|49|5[16]|6[48]))|2087|55(?:0[13457]|59|6[179]|7[034]|99))%
https://regex101.com/r/EePsaG/1
格式化:
7
(?:
1
(?:
7
(?:
24
| 3 [01]
| 4 [79]
| 5 [089]
| 6 [258]
)
| 8
(?: 3 [49] | 40 | 54 )
| 9
(?:
0 [1239]
| 1 [034]
| 37
| 49
| 5 [16]
| 6 [48]
)
)
| 2087
| 55
(?:
0 [13457]
| 59
| 6 [179]
| 7 [034]
| 99
)
)
%