【发布时间】:2013-03-10 18:12:26
【问题描述】:
假设我有随机的文本块:
EAMoAAQAABwEBAAAAAAAAAAAAAAABAgMFBgcIBAkBAQABBQEBAAAAAAAAAAAAAAAGAgMEBQcBCBAAAQMDAgMEBQcIBQgGCwEAAQACAxEEBSEGMRIHQVFhE3GBIhQIkaGxwTJCI9FScoKSojMV8GLCUxbhstKDo7M0ZHOTJEQlF/HiQ2PDVHSExEUmGBEBAAIBAgMDCAgCCgMBAQEAAAECAxEEITEFQRIGUWFxgZGhIhPwscHRMlIUB0Jy4fGCkqLCI1MVFrLSQ2IzF//aAAwDAQACEQMRAD8A7+QEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEEDwXkzpxHgusxi7NrnXF3G0NBLhzAkAeAqVH934r6bt57uTPSJ8ne1n2Rqycezy35VlRttwYu5DXNlLOcczOdpHM3hUUqtLs/wBxulZonXJ8vjp8caa+eOa5k6flrPLVcIbm3n/gytf4NcCVKtj1XbbqNcOSuT+W0W+pi3x2rzjRWWxUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAggV5It2Uy8GNYAWmW6kr5MDftO8T3BRXxR4s2/SccTb48lvw0jnPnn8tfP6o1Ze02ds08OERzlid+/P5Orp5BHEeFuxxa0Dxpx9a+fOu+Iup9Tmfm30p+Ss92vr/N6bat/t67fDyjWfLLG79pt45YpAA8NdUAg9ngolTFNbedtqWi0avVicv5bLKFr2kSRltHaahrXCnylZcd6k208rDy4ItxlkUr5+XnZE1zxq0h3KfUQqv1GWsxeI0tHKY1rPtjRgVivKZU7HebrS491ybX+TWnO7V7PEn7w+f0rpPhb9zdxt7Rj3szkx/n/AI6+n88f4vTyebno8Wr3qTGvun7mawSxzsbNC4Pje0Oa9pqCD2grv+3z0zUi9Ji1bRrEx2wjtqzWdJ5wqq8pEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQU
规格:
patternABC >= 2 characters = groupABC IF groupABC occurs more than once
groupABC + (groupABC)n = sequence WHERE n >= 1 AND sequence > 6 characters
** 一个序列需要> 6个字符才能被评估
细分:
如何找到按顺序出现的任何重复模式?
QEBAQEBAQEBAQEBAQEBAQEBA
我还要数每组重复多少次:
QEBA QEBA QEBA QEBA QEBA QEBA = 6
此外,序列必须大于 6 个字符才能被评估:
NO GOOD: AA AA AA
GOOD: AA AA AA AA
如果可以将输出存储在关联数组中并删除重复条目,那将是理想的:
QEBA => 6, AA => 4, QEBA => 3, AA => 8, (QEBA => 6)<- REMOVE
有没有人有时间和意愿来解决这个问题? 如果你这样做,你就会摇滚!
【问题讨论】:
-
Regular Expression to detect repetition within a string 的可能重复项,第二个答案。
-
这个正则表达式:
/((\w+?)(\2))+/g将匹配所有重复的字母序列。那我想你需要稍微操纵一下它们。 -
感谢您的快速回复! @BillyMoon 那个正则表达式看起来肯定有帮助。谢谢。
-
“以 2 人或更多人为一组”?重复 2 次或更多次?或者至少要重复 2 个字符?
AAAAAABAAAAAAB呢?是否有AAs、AAAAAABs 或两者都重复?ABABABCBCBC呢,应该AB、BC还是两者都算? -
patternABC >= 2 个字符 = groupABC groupABC + (groupABC)n = 序列 WHERE n >= 1 AND 序列 > 6 个字符 ** 一个序列需要 > 6 个字符才能被评估我希望这澄清了事情。