Menu

Tree [64272c] master /
 History

HTTPS access


File Date Author Commit
 README 2025-07-09 sbrothy sbrothy [ada246] Corrected SYNOPSIS.
 buildall.sh 2025-07-09 sbrothy sbrothy [cbd904] Beautification of buildall.sh
 clean.sh 2025-07-09 sbrothy sbrothy [b0e94e] Corrected stray character in main.cpp.
 config.cpp 2025-07-06 sbrothy sbrothy [e899d4] Initial commit
 config.hpp 2025-07-09 sbrothy sbrothy [cbd904] Beautification of buildall.sh
 csw.txt 2025-07-06 sbrothy sbrothy [220c55] Various including csw.txt
 dictionary.cpp 2025-07-08 sbrothy sbrothy [77439b] Various beautifications
 dictionary.hpp 2025-07-09 sbrothy sbrothy [cbd904] Beautification of buildall.sh
 main.cpp 2025-07-09 sbrothy sbrothy [cbd904] Beautification of buildall.sh
 main.xml 2025-07-09 sbrothy sbrothy [519f59] All sortd of stuff.
 pch.h 2025-07-09 sbrothy sbrothy [cbd904] Beautification of buildall.sh
 wcheat.xml 2025-07-09 sbrothy sbrothy [519f59] All sortd of stuff.
 worddata.cpp 2025-07-09 sbrothy sbrothy [ef22f6] Seperated SPDLOG initialization.
 worddata.hpp 2025-07-09 sbrothy sbrothy [cbd904] Beautification of buildall.sh
 wordle.txt 2025-08-23 sbrothy sbrothy [64272c] Added official wordle word list.

Read Me

This project bypasses all build systems and simply calls g++ directly from buildall.sh. It builds a precompiled header shared among 
all modules and builds each cpp module into a static library with the option of skipping one or all of them and finally combines them 
all into the executable.

--------------------------------------------------------------

sbrothy@PAULINE:~/wcheat/wcheat-code$ ./wcheat 

SYNOPSIS

./wcheat        [OPTION]... PATTERN

DESCRIPTION
        ./wcheat applies the specified regex PATTERN to the words found in newline seperated word-containing wordfile specified by '-w' or '--wordfile'.

OPTIONS
        -cFILE or --configfileFILE
                Use specified config XML file.

        -wFILE or --wordfileFILE
                Specify newline seperated word file.

        -lN or --lengthN
                Specify word length.

        -d or --dictionary
                Do dictionary lookup of found words.


sbrothy@PAULINE:~/wcheat/wcheat-code$ 

--------------------------------------------------------------
TODO:
--------------------------------------------------------------
CLEAN UP HUMONGOUS PCH!

--------------------------------------------------------------

Sorry for all the superflous code. I cannibalized an old IRC wordguess bot I once wrote. I couldn't have written this 
from scratch in 6 hours otherwise.


Example run for wordle (Sep. 6, 2024, "RERUN") "?er??":

./wcheat -l5 -w./csw.txt '[^chawrtod]{2}ain'

./wcheat -l5 -w./csw.txt '[^chawrtod]{2}ain'




[ABCDEFGHIJKLMNOPQRSTUVXW]

[BCDEFGHJKLMNOPQSUVXWV]
./wcheat -l 5 '^([^ABCD^EFGH^IJKLMNOPQRS^TUVXWV]{1}[^ABCD^EFGH^IJKLMNOPQ^RS^TUVXWV]{1}[^ABCDEFGH^IJKLMNOPQRS^TUVXWV]{2}[^ABCDEFGH^IJKLMNOPQRS^TUVXWV]{1})$' -w csw.txt

./wcheat -l 5 '^([BCDEFGHJKLMNOPQRSUVWX]{1}[BCDEFGHJKLMNOPQSUVWX]{1}[BCDEFGHJKLMNOPQRSUVWX]{2}[BCDFGHJKLMNOPRQSUVWX]{1})$' -w csw.txt

./wcheat -l5 '([BCDEFGHJKLMNOPQRSUVWX]{2}[LOD]{2}){5}$' -d./csw.txt
./wcheat -l5 '^[LOD]{3}$' -d./csw.txt
./wcheat -l5 '^[^ERUIACBNO][L]{1}[O]{1}[D]{1}$' -d./csw.txt
./wcheat -l5 '^[^ERUIACBNO][QWTYPSFGHJKZXVM]{2}[L]{1}[O]{1}[D]{1}$' -d./csw.txt

./wcheat -l5 -w./csw.txt '(?=\w*e)....'


./wcheat -l5  -w./csw.txt '(?=\w*[L])(?=\w*[O])(?=\w*[D])[^ERUIACBNO][QWTYPSFGHJKZXVM]{2}'
./wcheat -l5  -w./csw.txt '(?=\w*[L])(?=\w*[O])(?=\w*[D])[^ERUIACBNO]'
./wcheat -l5  -w./csw.txt '^(?=\w*[L]{1})(?=\w*[O]{1})(?=\w*[D]{1})'



./wcheat -l5 '^[BCDEFGHJKLMNOPQRSUVWX]+[L]+[O]+[D]+$' -w./csw.txt

./wcheat -l5 'L{1,1}+O{1,1}+D{1,1}+{3,3}+' -w./csw.txt

./wcheat -l5 '([BCDEFGHJKLMNOPQRSUVWX]{2}[LOD]{2}){5}$' -w./csw.txt


./wcheat -l5 '^([A-Z][^IAT]{1}[A-Z][^IATR]{1}[A-Z][^IAT]{2}[A-Z][^IATE]{1})$' -w./csw.txt


|([FGH])([KLMNOPQRSUVWX]){1}

([F-Q])|(E|R)){1})([ABCDEFGHIJKLMNOPQ]{1})[A-Z]{2}^E{1}$'' -w csw.txt
./wcheat -l 5 ''^[A-Z]{1}[^R]{1}[A-Z]{2}[^E]{1}$'' -w csw.txt


BCDEFGHJKLMPQRSUVWX
./wcheat -l5 '^REC[BCDEFGHJLMPQRUVWX]{2}$' -wcsw.txt

[BCDEFGHLMNOPQUVWX]

./wcheat -l 5 '^[BCDEFGHLMNOPQUVWX]{1}O[BCDEFGHLMNOPQUVWX]{1}E[BCDEFGHLMNOPQUVWX]{1}$' -w csw.txt

./wcheat -l 5 '^[ABCEFGHJMNOPQTUVXW]{1}EA[ABCEFGHJMNOPQTUVXW]{1}T$' -w csw.txt
./wcheat -l 5 '^[ABCEFGHJOPQTUVXW]{1}EA[ABCEFGHJOPQTUVXW]{1}T$' -w csw.txt

[BCEFGHJKLMNOQSUVXW]

[BCEFGHJKLMNOQSUVXW]

./wcheat -l5 -wcsw.txt '^S[ABCEFGHJOPQTUVXW]{1}[BCEFGHJKLMNOQSUVXW]{3}$'

abcdefghijklmnopqrstuvxyz
./wcheat -l5 -w./csw.txt '[?=abcdfghijklmnopqrstuvxyz]{3,4}[?=\w*e+\w*]'

./wcheat -l5 -w./csw.txt '[?=\w*^e][^e]{4}'

./wcheat -l5 -w./csw.txt '[^chawrtod]{2}ain'


./wcheat -l5 -w./csw.txt '^[qweityupsfghjklzxcvbnm]+r{1,}[qwetyupsfghjklzxcvbnm]{1,3}[qwetyupsfghjklzxcvbnm]+i{1,}$'

[aqweityupsfghjklzxcvbnm]



./wcheat -l5 -w./csw.txt  '^[^kadbor]{2}[^kadboui]{3}$''


./wcheat -l5 -w./csw.txt '^[qetyupafghjklzxcvbm]{1}a{1}([qetyupafghjklzxcvbm]{0,2}r{1}[qetyupafghjklzxcvbm]{0,2})$'
./wcheat -l5 -w./csw.txt '^[qyupafghjklzxcvbm]{1}a[qyupafghjklzxcvbm]{1}er$'
./wcheat -l5 -w./csw.txt '^[qyuafgjklzxcvbm]{1}aler$'


./wcheat -l5 -w./csw.txt '^a.r[qyuafgjklzxcvbm]{1}aler$'


AUREI


./wcheat -l5 -w./csw.txt '^a[^ue]+r[^ue]*i+[^uie]+$'




sbrothy@PAULINE:~/cheat/cheat/1/wordle-regex-code$./wcheat -l5 -w./csw.txt '^a[^ue]+r[^ue]*i+[^uie]+$'
11 total matches as per regex.
11 total matches as per specified length.
[WORD=ABRIM][FREQ=45]
[WORD=ABRIN][FREQ=37]
[WORD=ABRIS][FREQ=38]
[WORD=ACRID][FREQ=34]
[WORD=AFRIT][FREQ=28]
[WORD=AGRIA][FREQ=32]
[WORD=AGRIN][FREQ=35]
[WORD=AMRIT][FREQ=27]
[WORD=ARRIS][FREQ=26]
[WORD=ATRIA][FREQ=16]
[WORD=ATRIP][FREQ=32]
Word containing most frquent letters: [ATRIA]. Overall letter frequency: 16
sbrothy@PAULINE:~/cheat/cheat/1/wordle-regex-code$


./wcheat -l5 -w./csw.txt '^[qwyupsfghjklzxcvbnmade]{1}r([^d]|[ae]){3}$'


./wcheat -l5 -c./main.xml -w./csw.txt '^[^radits]{1}o[^radits]{1}e[^radits]{1}$'
./wcheat -l5 -c./main.xml -w./csw.txt '^no[^raditschymn]{1}e[^raditschymn]{1}$'


[^raditschymn]{1}

[ISPOILER]NOMEN[/ISPOILER]? Come on, what was I thinking there?