很长一段时间以来,我一直能够通过正则表达式跌跌撞撞,但是唉,我无法帮助有需要的朋友。
我的“朋友”正在尝试匹配文本文件中符合以下条件的所有行:
- 只有 7 到 10 位数字(0123456 或 0123456789)
- 只有 7 到 10 位数字,然后是破折号,然后是另外两位数字(0123456-01 或 0123456789-01)
- 匹配上述任何一项,除非代码/代码或密码/密码在要匹配的数字之前(例如“访问代码:16434629”或“密码 5253443-12”)
- 编辑:只需要匹配的数字,没有别的。
这是我见过的“他”给我的最讨厌的正则表达式:
^(?=.*?[^=/%:]\b\d{7,10}((\d?\d?)|(-\d\d))?\b)((?!Passcode|passcode|Code|code).)*$
...
问题:有没有办法使用简短的正则表达式来查找符合上述条件的所有行?
假设 PCRE。我的朋友提前谢谢你。;-)
顺便说一句 - 我无法在 stackoverflow.com 或 superuser.com 中找到可以准确回答此问题的任何其他问题。
编辑:我正在使用 Kodos Python Regex Debugger 来验证和测试正则表达式。