fork download
  1. # http://c...content-available-to-author-only...e.com/q/78210/34718
  2.  
  3. R=range(0,9)
  4. S=range(1,10)
  5.  
  6. o = ""
  7.  
  8. # validate rows
  9. T = "(?=.{%s,%s}%s)"
  10. for j in R:
  11. for i in S:
  12. o += T % (9*j,9*(j+1)-1, i)
  13. pass
  14.  
  15. # validate columns
  16. # "(?=(.{%s}|.{%s}|.{%s}|.{%s}|.{%s}|.{%s}|.{%s}|.{%s}|.{%s})%s)"
  17. T = "(?=("+"|".join([".{%s}"]*9)+")%s)"
  18. for j in R:
  19. for i in S:
  20. o += T % (j,j+9,j+18,j+27,j+36,j+45,j+54,j+63,j+72, i)
  21. pass
  22.  
  23. # validate boxes
  24. # (?=.{0,2}1|.{9,11}1|.{18,20}1)(?=.{3,5}1|.{12,14}1|.{21,23}1)
  25. # (?=.{27,29}1|.{36,38}1|.{45,47}1)
  26. T = ".{%s,%s}%s"
  27. for i in S:
  28. for x in (0,27,54):
  29. for y in (0,3,6):
  30. o += "(?="+"|".join(T % (x+y+z,x+y+z+2, i) for z in (0,9,18))+")"
  31. pass
  32.  
  33. o += ".{81}"
  34.  
  35. o = o.replace(".{0}","").replace(",80}",",}")
  36. print(o)
Success #stdin #stdout 0.01s 9016KB
stdin
Standard input is empty
stdout
(?=.{0,8}1)(?=.{0,8}2)(?=.{0,8}3)(?=.{0,8}4)(?=.{0,8}5)(?=.{0,8}6)(?=.{0,8}7)(?=.{0,8}8)(?=.{0,8}9)(?=.{9,17}1)(?=.{9,17}2)(?=.{9,17}3)(?=.{9,17}4)(?=.{9,17}5)(?=.{9,17}6)(?=.{9,17}7)(?=.{9,17}8)(?=.{9,17}9)(?=.{18,26}1)(?=.{18,26}2)(?=.{18,26}3)(?=.{18,26}4)(?=.{18,26}5)(?=.{18,26}6)(?=.{18,26}7)(?=.{18,26}8)(?=.{18,26}9)(?=.{27,35}1)(?=.{27,35}2)(?=.{27,35}3)(?=.{27,35}4)(?=.{27,35}5)(?=.{27,35}6)(?=.{27,35}7)(?=.{27,35}8)(?=.{27,35}9)(?=.{36,44}1)(?=.{36,44}2)(?=.{36,44}3)(?=.{36,44}4)(?=.{36,44}5)(?=.{36,44}6)(?=.{36,44}7)(?=.{36,44}8)(?=.{36,44}9)(?=.{45,53}1)(?=.{45,53}2)(?=.{45,53}3)(?=.{45,53}4)(?=.{45,53}5)(?=.{45,53}6)(?=.{45,53}7)(?=.{45,53}8)(?=.{45,53}9)(?=.{54,62}1)(?=.{54,62}2)(?=.{54,62}3)(?=.{54,62}4)(?=.{54,62}5)(?=.{54,62}6)(?=.{54,62}7)(?=.{54,62}8)(?=.{54,62}9)(?=.{63,71}1)(?=.{63,71}2)(?=.{63,71}3)(?=.{63,71}4)(?=.{63,71}5)(?=.{63,71}6)(?=.{63,71}7)(?=.{63,71}8)(?=.{63,71}9)(?=.{72,}1)(?=.{72,}2)(?=.{72,}3)(?=.{72,}4)(?=.{72,}5)(?=.{72,}6)(?=.{72,}7)(?=.{72,}8)(?=.{72,}9)(?=(|.{9}|.{18}|.{27}|.{36}|.{45}|.{54}|.{63}|.{72})1)(?=(|.{9}|.{18}|.{27}|.{36}|.{45}|.{54}|.{63}|.{72})2)(?=(|.{9}|.{18}|.{27}|.{36}|.{45}|.{54}|.{63}|.{72})3)(?=(|.{9}|.{18}|.{27}|.{36}|.{45}|.{54}|.{63}|.{72})4)(?=(|.{9}|.{18}|.{27}|.{36}|.{45}|.{54}|.{63}|.{72})5)(?=(|.{9}|.{18}|.{27}|.{36}|.{45}|.{54}|.{63}|.{72})6)(?=(|.{9}|.{18}|.{27}|.{36}|.{45}|.{54}|.{63}|.{72})7)(?=(|.{9}|.{18}|.{27}|.{36}|.{45}|.{54}|.{63}|.{72})8)(?=(|.{9}|.{18}|.{27}|.{36}|.{45}|.{54}|.{63}|.{72})9)(?=(.{1}|.{10}|.{19}|.{28}|.{37}|.{46}|.{55}|.{64}|.{73})1)(?=(.{1}|.{10}|.{19}|.{28}|.{37}|.{46}|.{55}|.{64}|.{73})2)(?=(.{1}|.{10}|.{19}|.{28}|.{37}|.{46}|.{55}|.{64}|.{73})3)(?=(.{1}|.{10}|.{19}|.{28}|.{37}|.{46}|.{55}|.{64}|.{73})4)(?=(.{1}|.{10}|.{19}|.{28}|.{37}|.{46}|.{55}|.{64}|.{73})5)(?=(.{1}|.{10}|.{19}|.{28}|.{37}|.{46}|.{55}|.{64}|.{73})6)(?=(.{1}|.{10}|.{19}|.{28}|.{37}|.{46}|.{55}|.{64}|.{73})7)(?=(.{1}|.{10}|.{19}|.{28}|.{37}|.{46}|.{55}|.{64}|.{73})8)(?=(.{1}|.{10}|.{19}|.{28}|.{37}|.{46}|.{55}|.{64}|.{73})9)(?=(.{2}|.{11}|.{20}|.{29}|.{38}|.{47}|.{56}|.{65}|.{74})1)(?=(.{2}|.{11}|.{20}|.{29}|.{38}|.{47}|.{56}|.{65}|.{74})2)(?=(.{2}|.{11}|.{20}|.{29}|.{38}|.{47}|.{56}|.{65}|.{74})3)(?=(.{2}|.{11}|.{20}|.{29}|.{38}|.{47}|.{56}|.{65}|.{74})4)(?=(.{2}|.{11}|.{20}|.{29}|.{38}|.{47}|.{56}|.{65}|.{74})5)(?=(.{2}|.{11}|.{20}|.{29}|.{38}|.{47}|.{56}|.{65}|.{74})6)(?=(.{2}|.{11}|.{20}|.{29}|.{38}|.{47}|.{56}|.{65}|.{74})7)(?=(.{2}|.{11}|.{20}|.{29}|.{38}|.{47}|.{56}|.{65}|.{74})8)(?=(.{2}|.{11}|.{20}|.{29}|.{38}|.{47}|.{56}|.{65}|.{74})9)(?=(.{3}|.{12}|.{21}|.{30}|.{39}|.{48}|.{57}|.{66}|.{75})1)(?=(.{3}|.{12}|.{21}|.{30}|.{39}|.{48}|.{57}|.{66}|.{75})2)(?=(.{3}|.{12}|.{21}|.{30}|.{39}|.{48}|.{57}|.{66}|.{75})3)(?=(.{3}|.{12}|.{21}|.{30}|.{39}|.{48}|.{57}|.{66}|.{75})4)(?=(.{3}|.{12}|.{21}|.{30}|.{39}|.{48}|.{57}|.{66}|.{75})5)(?=(.{3}|.{12}|.{21}|.{30}|.{39}|.{48}|.{57}|.{66}|.{75})6)(?=(.{3}|.{12}|.{21}|.{30}|.{39}|.{48}|.{57}|.{66}|.{75})7)(?=(.{3}|.{12}|.{21}|.{30}|.{39}|.{48}|.{57}|.{66}|.{75})8)(?=(.{3}|.{12}|.{21}|.{30}|.{39}|.{48}|.{57}|.{66}|.{75})9)(?=(.{4}|.{13}|.{22}|.{31}|.{40}|.{49}|.{58}|.{67}|.{76})1)(?=(.{4}|.{13}|.{22}|.{31}|.{40}|.{49}|.{58}|.{67}|.{76})2)(?=(.{4}|.{13}|.{22}|.{31}|.{40}|.{49}|.{58}|.{67}|.{76})3)(?=(.{4}|.{13}|.{22}|.{31}|.{40}|.{49}|.{58}|.{67}|.{76})4)(?=(.{4}|.{13}|.{22}|.{31}|.{40}|.{49}|.{58}|.{67}|.{76})5)(?=(.{4}|.{13}|.{22}|.{31}|.{40}|.{49}|.{58}|.{67}|.{76})6)(?=(.{4}|.{13}|.{22}|.{31}|.{40}|.{49}|.{58}|.{67}|.{76})7)(?=(.{4}|.{13}|.{22}|.{31}|.{40}|.{49}|.{58}|.{67}|.{76})8)(?=(.{4}|.{13}|.{22}|.{31}|.{40}|.{49}|.{58}|.{67}|.{76})9)(?=(.{5}|.{14}|.{23}|.{32}|.{41}|.{50}|.{59}|.{68}|.{77})1)(?=(.{5}|.{14}|.{23}|.{32}|.{41}|.{50}|.{59}|.{68}|.{77})2)(?=(.{5}|.{14}|.{23}|.{32}|.{41}|.{50}|.{59}|.{68}|.{77})3)(?=(.{5}|.{14}|.{23}|.{32}|.{41}|.{50}|.{59}|.{68}|.{77})4)(?=(.{5}|.{14}|.{23}|.{32}|.{41}|.{50}|.{59}|.{68}|.{77})5)(?=(.{5}|.{14}|.{23}|.{32}|.{41}|.{50}|.{59}|.{68}|.{77})6)(?=(.{5}|.{14}|.{23}|.{32}|.{41}|.{50}|.{59}|.{68}|.{77})7)(?=(.{5}|.{14}|.{23}|.{32}|.{41}|.{50}|.{59}|.{68}|.{77})8)(?=(.{5}|.{14}|.{23}|.{32}|.{41}|.{50}|.{59}|.{68}|.{77})9)(?=(.{6}|.{15}|.{24}|.{33}|.{42}|.{51}|.{60}|.{69}|.{78})1)(?=(.{6}|.{15}|.{24}|.{33}|.{42}|.{51}|.{60}|.{69}|.{78})2)(?=(.{6}|.{15}|.{24}|.{33}|.{42}|.{51}|.{60}|.{69}|.{78})3)(?=(.{6}|.{15}|.{24}|.{33}|.{42}|.{51}|.{60}|.{69}|.{78})4)(?=(.{6}|.{15}|.{24}|.{33}|.{42}|.{51}|.{60}|.{69}|.{78})5)(?=(.{6}|.{15}|.{24}|.{33}|.{42}|.{51}|.{60}|.{69}|.{78})6)(?=(.{6}|.{15}|.{24}|.{33}|.{42}|.{51}|.{60}|.{69}|.{78})7)(?=(.{6}|.{15}|.{24}|.{33}|.{42}|.{51}|.{60}|.{69}|.{78})8)(?=(.{6}|.{15}|.{24}|.{33}|.{42}|.{51}|.{60}|.{69}|.{78})9)(?=(.{7}|.{16}|.{25}|.{34}|.{43}|.{52}|.{61}|.{70}|.{79})1)(?=(.{7}|.{16}|.{25}|.{34}|.{43}|.{52}|.{61}|.{70}|.{79})2)(?=(.{7}|.{16}|.{25}|.{34}|.{43}|.{52}|.{61}|.{70}|.{79})3)(?=(.{7}|.{16}|.{25}|.{34}|.{43}|.{52}|.{61}|.{70}|.{79})4)(?=(.{7}|.{16}|.{25}|.{34}|.{43}|.{52}|.{61}|.{70}|.{79})5)(?=(.{7}|.{16}|.{25}|.{34}|.{43}|.{52}|.{61}|.{70}|.{79})6)(?=(.{7}|.{16}|.{25}|.{34}|.{43}|.{52}|.{61}|.{70}|.{79})7)(?=(.{7}|.{16}|.{25}|.{34}|.{43}|.{52}|.{61}|.{70}|.{79})8)(?=(.{7}|.{16}|.{25}|.{34}|.{43}|.{52}|.{61}|.{70}|.{79})9)(?=(.{8}|.{17}|.{26}|.{35}|.{44}|.{53}|.{62}|.{71}|.{80})1)(?=(.{8}|.{17}|.{26}|.{35}|.{44}|.{53}|.{62}|.{71}|.{80})2)(?=(.{8}|.{17}|.{26}|.{35}|.{44}|.{53}|.{62}|.{71}|.{80})3)(?=(.{8}|.{17}|.{26}|.{35}|.{44}|.{53}|.{62}|.{71}|.{80})4)(?=(.{8}|.{17}|.{26}|.{35}|.{44}|.{53}|.{62}|.{71}|.{80})5)(?=(.{8}|.{17}|.{26}|.{35}|.{44}|.{53}|.{62}|.{71}|.{80})6)(?=(.{8}|.{17}|.{26}|.{35}|.{44}|.{53}|.{62}|.{71}|.{80})7)(?=(.{8}|.{17}|.{26}|.{35}|.{44}|.{53}|.{62}|.{71}|.{80})8)(?=(.{8}|.{17}|.{26}|.{35}|.{44}|.{53}|.{62}|.{71}|.{80})9)(?=.{0,2}1|.{9,11}1|.{18,20}1)(?=.{3,5}1|.{12,14}1|.{21,23}1)(?=.{6,8}1|.{15,17}1|.{24,26}1)(?=.{27,29}1|.{36,38}1|.{45,47}1)(?=.{30,32}1|.{39,41}1|.{48,50}1)(?=.{33,35}1|.{42,44}1|.{51,53}1)(?=.{54,56}1|.{63,65}1|.{72,74}1)(?=.{57,59}1|.{66,68}1|.{75,77}1)(?=.{60,62}1|.{69,71}1|.{78,}1)(?=.{0,2}2|.{9,11}2|.{18,20}2)(?=.{3,5}2|.{12,14}2|.{21,23}2)(?=.{6,8}2|.{15,17}2|.{24,26}2)(?=.{27,29}2|.{36,38}2|.{45,47}2)(?=.{30,32}2|.{39,41}2|.{48,50}2)(?=.{33,35}2|.{42,44}2|.{51,53}2)(?=.{54,56}2|.{63,65}2|.{72,74}2)(?=.{57,59}2|.{66,68}2|.{75,77}2)(?=.{60,62}2|.{69,71}2|.{78,}2)(?=.{0,2}3|.{9,11}3|.{18,20}3)(?=.{3,5}3|.{12,14}3|.{21,23}3)(?=.{6,8}3|.{15,17}3|.{24,26}3)(?=.{27,29}3|.{36,38}3|.{45,47}3)(?=.{30,32}3|.{39,41}3|.{48,50}3)(?=.{33,35}3|.{42,44}3|.{51,53}3)(?=.{54,56}3|.{63,65}3|.{72,74}3)(?=.{57,59}3|.{66,68}3|.{75,77}3)(?=.{60,62}3|.{69,71}3|.{78,}3)(?=.{0,2}4|.{9,11}4|.{18,20}4)(?=.{3,5}4|.{12,14}4|.{21,23}4)(?=.{6,8}4|.{15,17}4|.{24,26}4)(?=.{27,29}4|.{36,38}4|.{45,47}4)(?=.{30,32}4|.{39,41}4|.{48,50}4)(?=.{33,35}4|.{42,44}4|.{51,53}4)(?=.{54,56}4|.{63,65}4|.{72,74}4)(?=.{57,59}4|.{66,68}4|.{75,77}4)(?=.{60,62}4|.{69,71}4|.{78,}4)(?=.{0,2}5|.{9,11}5|.{18,20}5)(?=.{3,5}5|.{12,14}5|.{21,23}5)(?=.{6,8}5|.{15,17}5|.{24,26}5)(?=.{27,29}5|.{36,38}5|.{45,47}5)(?=.{30,32}5|.{39,41}5|.{48,50}5)(?=.{33,35}5|.{42,44}5|.{51,53}5)(?=.{54,56}5|.{63,65}5|.{72,74}5)(?=.{57,59}5|.{66,68}5|.{75,77}5)(?=.{60,62}5|.{69,71}5|.{78,}5)(?=.{0,2}6|.{9,11}6|.{18,20}6)(?=.{3,5}6|.{12,14}6|.{21,23}6)(?=.{6,8}6|.{15,17}6|.{24,26}6)(?=.{27,29}6|.{36,38}6|.{45,47}6)(?=.{30,32}6|.{39,41}6|.{48,50}6)(?=.{33,35}6|.{42,44}6|.{51,53}6)(?=.{54,56}6|.{63,65}6|.{72,74}6)(?=.{57,59}6|.{66,68}6|.{75,77}6)(?=.{60,62}6|.{69,71}6|.{78,}6)(?=.{0,2}7|.{9,11}7|.{18,20}7)(?=.{3,5}7|.{12,14}7|.{21,23}7)(?=.{6,8}7|.{15,17}7|.{24,26}7)(?=.{27,29}7|.{36,38}7|.{45,47}7)(?=.{30,32}7|.{39,41}7|.{48,50}7)(?=.{33,35}7|.{42,44}7|.{51,53}7)(?=.{54,56}7|.{63,65}7|.{72,74}7)(?=.{57,59}7|.{66,68}7|.{75,77}7)(?=.{60,62}7|.{69,71}7|.{78,}7)(?=.{0,2}8|.{9,11}8|.{18,20}8)(?=.{3,5}8|.{12,14}8|.{21,23}8)(?=.{6,8}8|.{15,17}8|.{24,26}8)(?=.{27,29}8|.{36,38}8|.{45,47}8)(?=.{30,32}8|.{39,41}8|.{48,50}8)(?=.{33,35}8|.{42,44}8|.{51,53}8)(?=.{54,56}8|.{63,65}8|.{72,74}8)(?=.{57,59}8|.{66,68}8|.{75,77}8)(?=.{60,62}8|.{69,71}8|.{78,}8)(?=.{0,2}9|.{9,11}9|.{18,20}9)(?=.{3,5}9|.{12,14}9|.{21,23}9)(?=.{6,8}9|.{15,17}9|.{24,26}9)(?=.{27,29}9|.{36,38}9|.{45,47}9)(?=.{30,32}9|.{39,41}9|.{48,50}9)(?=.{33,35}9|.{42,44}9|.{51,53}9)(?=.{54,56}9|.{63,65}9|.{72,74}9)(?=.{57,59}9|.{66,68}9|.{75,77}9)(?=.{60,62}9|.{69,71}9|.{78,}9)