2022-05-01から1ヶ月間の記事一覧

正規表現で文字列の否定⑤

文字列処理でやってみた とりあえず ここ で以下の16個の正規表現を生成して、それらのルールを分析して、C#のメソッド作ってみたよ。 Regex01:文字列"0"を含まない任意の文字列とマッチする正規表現 Regex02:文字列"01"を含まない任意の文字列とマッチす…

LibreOfficeで二重丸描きたい

オートマトンの受理状態を描くときに、今までオレンジ色で塗りつぶした円を描いてた。 だけど、できれば二重丸でかきたいなーとずっと思ってて、良いやり方見つけた。 基本シェイプの中にある「円」じゃなくて「輪」を使えば良さげ。 円と輪内側の円も拡大縮…

正規表現で文字列の否定④

以下のオートマトンを構成してみた。出現する状態はすべて受理状態。 M2 文字列abを含まない任意の文字列を受理するDFA M3 文字列abcを含まない任意の文字列を受理するDFA M4 文字列abcdを含まない任意の文字列を受理するDFA M5 文字列abcdeを含まない任意の…

正規表現で文字列の否定③

前回提示したM1の状態2は無いのと同じなので、等価なオートマトンM2は次のようになる。 文字列abを含まない任意の文字列を受理するDFA([^a]|a+[^ab])* で状態0から状態0への遷移で、続けて a+ で状態1への遷移。 まとめて ^([^a]|a+[^ab])*a+$ でいいかと思…