19

4D v11 SQL

  • Upload
    tynice

  • View
    37

  • Download
    0

Embed Size (px)

DESCRIPTION

4D v11 SQL. 正規表現の手引き. 正規表現. 一定の規則性を有する文字列のパターンマッチング. メールアドレス (~@~.~) URL (http s ://~) パス+ファイル名+拡張子 (~¥~.~.~) HTML (~) etc. Match regex. @ , = , Position よりも的確にUnicodeを解析できる. フォーミュラ LAUNCH EXTERNAL PROCESS HTTP マクロ etc. Match regex. - PowerPoint PPT Presentation

Citation preview

Page 1: 4D v11 SQL
Page 2: 4D v11 SQL

4D v11 SQL4D v11 SQL正規表現の手引き正規表現の手引き

Page 3: 4D v11 SQL

• メールアドレス メールアドレス (~@~.~)(~@~.~)• URL (httpURL (httpss://~)://~)• パス+ファイル名+拡張子 パス+ファイル名+拡張子 (~¥~.~.~)(~¥~.~.~)• HTML (<body>~</body>)HTML (<body>~</body>)• etc.etc.

• 一定の規則性を有する文字列のパターンマッチング一定の規則性を有する文字列のパターンマッチング

正規表現正規表現

Page 4: 4D v11 SQL

Match regexMatch regex

• フォーミュラフォーミュラ• LAUNCH EXTERNAL PROCESSLAUNCH EXTERNAL PROCESS• HTTPHTTP• マクロマクロ• etc.etc.

• @@, , ==, , PositionPosition よりも的確によりも的確に UnicodeUnicode を解析できるを解析できる

Page 5: 4D v11 SQL

Match regexMatch regex

パターンの評価のみパターンの評価のみ ...position_...position_ll, length_, length_ll抽出抽出 , , 分解分解 ...Positions_...Positions_alal, lengths_, lengths_alal

WhileWhile(Match regex(_,_,i,pos,len))(Match regex(_,_,i,pos,len))(Substring) (Substring) (i:=pos+len)(i:=pos+len)End while End while

Page 6: 4D v11 SQL

正規表現の基本形正規表現の基本形

((\s*\s*)()(.*?.*?)()(\s*\s*)$)$

括弧で区切られたグループ。括弧で区切られたグループ。それぞれがパターンのサブマッチを表している。それぞれがパターンのサブマッチを表している。

Page 7: 4D v11 SQL

正規表現の基本形正規表現の基本形

(\s*)((\s*)(.*?.*?)(\s*)$)(\s*)$

“ “ regular expressions ”regular expressions ”(“ ”)(“(“ ”)(“regular expressionsregular expressions”)(“ ”)”)(“ ”)

Page 8: 4D v11 SQL

基本の正規表現基本の正規表現

..

\X\X

なんらかの文字。(コードポイント)なんらかの文字。(コードポイント)CR, LF, CR+LFCR, LF, CR+LF はカウントしない。はカウントしない。

文字。(書記素クラスタ)文字。(書記素クラスタ)組み合わせ文字組み合わせ文字 , , サロゲート等サロゲート等。。

グラフィームグラフィーム

Page 9: 4D v11 SQL

基本の正規表現基本の正規表現

** 00 個以上の意。個以上の意。*? *? は控えめにマッチする。は控えめにマッチする。

++ 11 個以上の意。個以上の意。+? +? は控えめにマッチする。は控えめにマッチする。

Page 10: 4D v11 SQL

基本の正規表現基本の正規表現

^̂ 入力の冒頭。入力の冒頭。毎行の冒頭はカウントしない。毎行の冒頭はカウントしない。

$$ 入力の終末。入力の終末。毎行の終末はカウントしない。毎行の終末はカウントしない。

Page 11: 4D v11 SQL

基本の正規表現基本の正規表現

\s\s 空白文字。(タブ空白文字。(タブ , , 改行など)改行など)意味のないデータを除外するときに。意味のないデータを除外するときに。

空白以外。空白以外。意味のあるデータを取り出すときに。意味のあるデータを取り出すときに。\S\S

Page 12: 4D v11 SQL

数と値の範囲数と値の範囲

[_][_] 式。(候補)式。(候補)範囲はマイナスで指定。範囲はマイナスで指定。ロケールロケール ......

{_{_}}

数。数。範囲はカンマで指定。範囲はカンマで指定。

Page 13: 4D v11 SQL

フラグの設定フラグの設定

(?m(?m:...:...))

(?s(?s:...:...))

MULTILINEMULTILINECR, LF, CRLF CR, LF, CRLF をを .. でマッチする。でマッチする。

DOTALLDOTALL^, $ ^, $ を毎行マッチする。を毎行マッチする。

(?i(?i:...:...)) CASE_INSENSITIVECASE_INSENSITIVE大文字と小文字を区別しない。大文字と小文字を区別しない。

Page 14: 4D v11 SQL

例例

(?i:[0-9a-f]{16})(?i:[0-9a-f]{16})

大文字と小文字を区別しないで、大文字と小文字を区別しないで、00 からから 99 またはまたは AA からから ZZ を合計を合計 1616 文字。文字。

Page 15: 4D v11 SQL

置換の正規表現置換の正規表現

(\n)(\n) nn 番目のグループで置換する。番目のグループで置換する。

Page 16: 4D v11 SQL

例例

((““?)(.*?)(?)(.*?)(\1\1))

開く引用符があれば、閉じるほうも必要。開く引用符があれば、閉じるほうも必要。なければ両方いらない。なければ両方いらない。

Page 17: 4D v11 SQL

UnicodeUnicode 特有の正規表現特有の正規表現

\\x{_}x{_}

\p{_}\p{_}

Character codeCharacter code1616 進数進数 66 桁まで指定できる桁まで指定できる

プロパティプロパティ特定の属性を有する文字特定の属性を有する文字

Page 18: 4D v11 SQL

まとめまとめ

正規表現は正規表現は UnicodeUnicode を解析するツールを解析するツール@, =, Position@, =, Position よりもよりも Match regexMatch regex全体のパターンマッチングは全体のパターンマッチングは LONGINTLONGINT抽出抽出 , , 分解は分解は ARRAY LONGINTARRAY LONGINT++WhileWhile行毎に処理を区切るならフラグを設定行毎に処理を区切るならフラグを設定

Page 19: 4D v11 SQL