トップ «前の日記(2005-11-18) 最新 次の日記(2005-11-23)» 編集

活動日誌


2005-11-19

[正規表現] 正規表現エンジンの見分け方

詳説正規表現第2版 140 ページより。

/a|ab/ を "ab" にマッチさせたとき、a だけがマッチしたら従来型 NFA か DFA。POSIX NFA は最長マッチを探すので ab にマッチする。

/aXXaaaaaaaaaaaaaaaaaaaaa/ を 'X(.+)+X' にマッチさせたとき、 時間がかかったりエラーになったら NFA で、すぐ終わったら DFA。 ただし、最適化が施された NFA の場合もある。

Emacs も Ruby も従来型 NFA。


2005|02|03|04|05|06|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|03|04|05|06|10|
2008|04|10|
2009|10|
2010|05|08|
2012|01|02|03|
2014|01|
2022|05|
トップ «前の日記(2005-11-18) 最新 次の日記(2005-11-23)»