KOTOBA
SAGASHI

RULE

- 文字数を限定する

aで始まる → a***
bで終わる → ***b
aで始まりbで終わる → a**b
aを含む → *a**
aを含む → (~a)***(*の数 = 全体の文字数)
aとbを含む → (~a)(~b)***(*の数 = 全体の文字数)
aを含むがbを含まない → (~a)(!~b)***
aまたはbで始まる → {a|b}***
aまたはbで終わる → ***{a|b}
aまたはbで始まりcまたはdで終わる → {a|b}**{c|d}
aまたはbを含む → *{a|b}**
aまたはbを含む → (~{a|b}~)***(*の数 = 全体の文字数)

- 文字数を限定しない

aで始まる → a~
bで終わる → ~b
aで始まりbで終わる → a~b
aを含む → ~a~
aを含まない → (!~a)~
aとbを含む → (~a)(~b)~
aを含むがbを含まない → (~a)(!~b)~
a,b,cで構成される → [abc]
aまたはbで始まる → {a|b}~
aまたはbで終わる → ~{a|b}
aまたはbで始まりcまたはdで終わる → {a|b}~{c|d}
aまたはbを含む → ~{a|b}~

- 入力の例

s****h → ○ search × smooth
sea*** → ○ search × seal
****ch → ○ search × match
*ear** → ○ search × reason
(~ear)****** → ○ search × square
(~se)(~ch)****** → ○ search × research
(~se)(!~ch)****** → ○ season × search
{se|te}**** → ○ search × tear
sea~ → ○ search × asean
~ch → ○ search × cheese
s~h → ○ search × ship
~ear~ → ○ search × square
(!~er)~ → ○ search × camera
(~se)(~ch)~ → ○ search × sandwich
(~se)(!~ch)~ → ○ false × search
[search] → ○ cheese × tear
~{sea|sky}~ → ○ tchaikovsky × easy