我想匹配从 0 到 15 的序数二进制数,这些数字以连续的方式写入(实际上之间没有空格):
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
我需要一种非常简短的使用表达式的方法来实现这一点,它应该按原样匹配!我的意思是匹配域!而已!我不想匹配类似的:
0000 0010 0001 0011 0100 0110 0101 0111 1000 1001 1010 1011 1100 1101 1110 1111
我试过的是
((00)[01]{2}){4}((01)[01]{2}){4}((10)[01]{2}){4}((11)[01]{2}){4}
我知道这不准确,所以我在这里问。
最佳答案
听起来您想要一个与给定字符串匹配的短正则表达式,但不匹配任何重新排序二进制数的相同形式的字符串。这个正则表达式不能满足这一点,但它至少解决了 http://regex.alf.nu 的“长计数”难题:
((\d+)0 \2[1] ?){8}
关于regex - 序数二进制数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20775872/