On this page
Help
What About REGEX
ECMAScript Regular Expression
正規表現について
ASTER に実装された REGEX Syntax は ECMAScript (JavaScript) 版です。
regex101.com
正規表現は一定のトライ&エラーが必要になるため、ブラウザ上で動作確認できる有益なツールとして regex101.com をお勧めします。
SAVE & SHARE
という機能がありショート URL でテスト結果を共有できる仕組みなどを提供。
その他 Match Infomation
では検索結果を一覧表示、キャプチャグループを利用した際に複数得られたサブマッチ結果がビジュアルで確認できるなどデバッグやテストを効率化できます。
ASTER で利用できる機能
- 部分一致検索 (Search :: Partial Match)
- 完全一致検索 (Search :: Exact Match » サブマッチ結果を配列で保存可能)
- 置換 (Search and Replace if matched)
文字列の検索と置換に正規表現を利用可能になります。基本的な構文は以下
- x|y » The alternation operator
- [xyz] » 文字集合
- [^xyz] » 文字集合の否定
- \n » Backtracking Into Capturing Groups
- (x) » キャプチャグループ :: Capturing Groups
- {n} » Fixed quantifier
- {n,m} » Greedy quantifier
- (?:x) » Non-Capturing Groups
- (?=x) » 肯定的先読み :: Positive lookahead
- (?!x) » 否定的先読み :: Negative lookahead
CF25 の仕様上、制御文字列の送信が限定的対応に留まります。置換処理に含む制御文字に未対応があります。
パターンマッチング検索なので通常の文字列検索よりも処理は重くなります。
C++20 STL は ECMASCript REGEX の全機能をサポートしておらず、後方参照 (Lookbehinds) が利用できません。Named capturing group も未対応。
(?<=T.+e)S.+t
上記は構文的には正常ですが ASTER 上では後方参照が利用できないため Syntax Error となります。
regex101 で動作確認した例 » https://regex101.com/r/S2CbwM/154