Regex
Transcript of Regex
![Page 1: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/1.jpg)
正規表現
![Page 2: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/2.jpg)
正規表現
![Page 3: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/3.jpg)
正規表現
あらゆるパターンを列挙せずに文字列群を簡潔に表現
![Page 4: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/4.jpg)
正規表現あらゆるパターンを列挙せずに文字列群を簡潔に表現
![Page 5: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/5.jpg)
正規表現あらゆるパターンを列挙せずに文字列群を簡潔に表現
カタカナEx. 1
![Page 6: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/6.jpg)
正規表現あらゆるパターンを列挙せずに文字列群を簡潔に表現
カタカナEx. 1
0 1 2 3 4 5 6 7 8 9 A B C D E F30A0 ゠ ァ ア ィ イ ゥ ウ ェ エ ォ オ カ ガ キ ギ ク30B0 グ ケ ゲ コ ゴ サ ザ シ ジ ス ズ セ ゼ ソ ゾ タ30C0 ダ チ ヂ ッ ツ ヅ テ デ ト ド ナ ニ ヌ ネ ノ ハ30D0 バ パ ヒ ビ ピ フ ブ プ ヘ ベ ペ ホ ボ ポ マ ミ30E0 ム メ モ ャ ヤ ュ ユ ョ ヨ ラ リ ル レ ロ ヮ ワ30F0 ヰ ヱ ヲ ン ヴ ヵ ヶ ヷ ヸ ヹ ヺ ・ ー ヽ ヾ ヿ
Unicode
http://shapecatcher.com/unicode/block/Katakana.html
![Page 7: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/7.jpg)
正規表現あらゆるパターンを列挙せずに文字列群を簡潔に表現
カタカナEx. 1
0 1 2 3 4 5 6 7 8 9 A B C D E F834 ァ ア ィ イ ゥ ウ ェ エ ォ オ カ ガ キ ギ ク グ835 ケ ゲ コ ゴ サ ザ シ ジ ス ズ セ ゼ ソ ゾ タ ダ836 チ ヂ ッ ツ ヅ テ デ ト ド ナ ニ ヌ ネ ノ ハ バ837 パ ヒ ビ ピ フ ブ プ ヘ ベ ペ ホ ボ ポ マ ミ838 ム メ モ ャ ヤ ュ ユ ョ ヨ ラ リ ル レ ロ ヮ ワ839 ヰ ヱ ヲ ン ヴ ヵ ヶ ヷ ヸ ヹ ヺ ・ ー ヽ ヾ ヿ
Shift_JIS
![Page 8: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/8.jpg)
正規表現あらゆるパターンを列挙せずに文字列群を簡潔に表現
カタカナEx. 1
0 1 2 3 4 5 6 7 8 9 A B C D E F30A0 ゠ ァ ア ィ イ ゥ ウ ェ エ ォ オ カ ガ キ ギ ク30B0 グ ケ ゲ コ ゴ サ ザ シ ジ ス ズ セ ゼ ソ ゾ タ30C0 ダ チ ヂ ッ ツ ヅ テ デ ト ド ナ ニ ヌ ネ ノ ハ30D0 バ パ ヒ ビ ピ フ ブ プ ヘ ベ ペ ホ ボ ポ マ ミ30E0 ム メ モ ャ ヤ ュ ユ ョ ヨ ラ リ ル レ ロ ヮ ワ30F0 ヰ ヱ ヲ ン ヴ ヵ ヶ ヷ ヸ ヹ ヺ ・ ー ヽ ヾ ヿ
Unicode
http://shapecatcher.com/unicode/block/Katakana.html
![Page 9: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/9.jpg)
正規表現あらゆるパターンを列挙せずに文字列群を簡潔に表現
カタカナEx. 1
0 1 2 3 4 5 6 7 8 9 A B C D E F30A0 ゠ ァ ア ィ イ ゥ ウ ェ エ ォ オ カ ガ キ ギ ク30B0 グ ケ ゲ コ ゴ サ ザ シ ジ ス ズ セ ゼ ソ ゾ タ30C0 ダ チ ヂ ッ ツ ヅ テ デ ト ド ナ ニ ヌ ネ ノ ハ30D0 バ パ ヒ ビ ピ フ ブ プ ヘ ベ ペ ホ ボ ポ マ ミ30E0 ム メ モ ャ ヤ ュ ユ ョ ヨ ラ リ ル レ ロ ヮ ワ30F0 ヰ ヱ ヲ ン ヴ ヵ ヶ ヷ ヸ ヹ ヺ ・ ー ヽ ヾ ヿ
Unicode KATAKANA-HIRAGANA DOUBLE HYPHEN
![Page 10: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/10.jpg)
正規表現あらゆるパターンを列挙せずに文字列群を簡潔に表現
カタカナEx. 1
0 1 2 3 4 5 6 7 8 9 A B C D E F30A0 ゠ ァ ア ィ イ ゥ ウ ェ エ ォ オ カ ガ キ ギ ク30B0 グ ケ ゲ コ ゴ サ ザ シ ジ ス ズ セ ゼ ソ ゾ タ30C0 ダ チ ヂ ッ ツ ヅ テ デ ト ド ナ ニ ヌ ネ ノ ハ30D0 バ パ ヒ ビ ピ フ ブ プ ヘ ベ ペ ホ ボ ポ マ ミ30E0 ム メ モ ャ ヤ ュ ユ ョ ヨ ラ リ ル レ ロ ヮ ワ30F0 ヰ ヱ ヲ ン ヴ ヵ ヶ ヷ ヸ ヹ ヺ ・ ー ヽ ヾ ヿ
Unicode KATAKANA MIDDLE DOT
![Page 11: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/11.jpg)
正規表現あらゆるパターンを列挙せずに文字列群を簡潔に表現
カタカナEx. 1
0 1 2 3 4 5 6 7 8 9 A B C D E F30A0 ゠ ァ ア ィ イ ゥ ウ ェ エ ォ オ カ ガ キ ギ ク30B0 グ ケ ゲ コ ゴ サ ザ シ ジ ス ズ セ ゼ ソ ゾ タ30C0 ダ チ ヂ ッ ツ ヅ テ デ ト ド ナ ニ ヌ ネ ノ ハ30D0 バ パ ヒ ビ ピ フ ブ プ ヘ ベ ペ ホ ボ ポ マ ミ30E0 ム メ モ ャ ヤ ュ ユ ョ ヨ ラ リ ル レ ロ ヮ ワ30F0 ヰ ヱ ヲ ン ヴ ヵ ヶ ヷ ヸ ヹ ヺ ・ ー ヽ ヾ ヿ
Unicode KATAKANA-HIRAGANA PROLONGED SOUND MARK
![Page 12: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/12.jpg)
正規表現あらゆるパターンを列挙せずに文字列群を簡潔に表現
カタカナEx. 1
0 1 2 3 4 5 6 7 8 9 A B C D E F30A0 ゠ ァ ア ィ イ ゥ ウ ェ エ ォ オ カ ガ キ ギ ク30B0 グ ケ ゲ コ ゴ サ ザ シ ジ ス ズ セ ゼ ソ ゾ タ30C0 ダ チ ヂ ッ ツ ヅ テ デ ト ド ナ ニ ヌ ネ ノ ハ30D0 バ パ ヒ ビ ピ フ ブ プ ヘ ベ ペ ホ ボ ポ マ ミ30E0 ム メ モ ャ ヤ ュ ユ ョ ヨ ラ リ ル レ ロ ヮ ワ30F0 ヰ ヱ ヲ ン ヴ ヵ ヶ ヷ ヸ ヹ ヺ ・ ー ヽ ヾ ヿ
Unicode KATAKANA ITERATION MARK
![Page 13: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/13.jpg)
正規表現あらゆるパターンを列挙せずに文字列群を簡潔に表現
カタカナEx. 1
0 1 2 3 4 5 6 7 8 9 A B C D E F30A0 ゠ ァ ア ィ イ ゥ ウ ェ エ ォ オ カ ガ キ ギ ク30B0 グ ケ ゲ コ ゴ サ ザ シ ジ ス ズ セ ゼ ソ ゾ タ30C0 ダ チ ヂ ッ ツ ヅ テ デ ト ド ナ ニ ヌ ネ ノ ハ30D0 バ パ ヒ ビ ピ フ ブ プ ヘ ベ ペ ホ ボ ポ マ ミ30E0 ム メ モ ャ ヤ ュ ユ ョ ヨ ラ リ ル レ ロ ヮ ワ30F0 ヰ ヱ ヲ ン ヴ ヵ ヶ ヷ ヸ ヹ ヺ ・ ー ヽ ヾ ヿ
Unicode KATAKANA VOICED ITERATION MARK
![Page 14: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/14.jpg)
正規表現あらゆるパターンを列挙せずに文字列群を簡潔に表現
カタカナEx. 1
0 1 2 3 4 5 6 7 8 9 A B C D E F30A0 ゠ ァ ア ィ イ ゥ ウ ェ エ ォ オ カ ガ キ ギ ク30B0 グ ケ ゲ コ ゴ サ ザ シ ジ ス ズ セ ゼ ソ ゾ タ30C0 ダ チ ヂ ッ ツ ヅ テ デ ト ド ナ ニ ヌ ネ ノ ハ30D0 バ パ ヒ ビ ピ フ ブ プ ヘ ベ ペ ホ ボ ポ マ ミ30E0 ム メ モ ャ ヤ ュ ユ ョ ヨ ラ リ ル レ ロ ヮ ワ30F0 ヰ ヱ ヲ ン ヴ ヵ ヶ ヷ ヸ ヹ ヺ ・ ー ヽ ヾ ヿ
Unicode KATAKANA DIGRAPH KOTO
![Page 15: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/15.jpg)
正規表現あらゆるパターンを列挙せずに文字列群を簡潔に表現
カタカナEx. 1
0 1 2 3 4 5 6 7 8 9 A B C D E F30A0 ゠ ァ ア ィ イ ゥ ウ ェ エ ォ オ カ ガ キ ギ ク30B0 グ ケ ゲ コ ゴ サ ザ シ ジ ス ズ セ ゼ ソ ゾ タ30C0 ダ チ ヂ ッ ツ ヅ テ デ ト ド ナ ニ ヌ ネ ノ ハ30D0 バ パ ヒ ビ ピ フ ブ プ ヘ ベ ペ ホ ボ ポ マ ミ30E0 ム メ モ ャ ヤ ュ ユ ョ ヨ ラ リ ル レ ロ ヮ ワ30F0 ヰ ヱ ヲ ン ヴ ヵ ヶ ヷ ヸ ヹ ヺ ・ ー ヽ ヾ ヿ
Unicode
![Page 16: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/16.jpg)
正規表現あらゆるパターンを列挙せずに文字列群を簡潔に表現
カタカナEx. 1
0 1 2 3 4 5 6 7 8 9 A B C D E F30A0 ゠ ァ ア ィ イ ゥ ウ ェ エ ォ オ カ ガ キ ギ ク30B0 グ ケ ゲ コ ゴ サ ザ シ ジ ス ズ セ ゼ ソ ゾ タ30C0 ダ チ ヂ ッ ツ ヅ テ デ ト ド ナ ニ ヌ ネ ノ ハ30D0 バ パ ヒ ビ ピ フ ブ プ ヘ ベ ペ ホ ボ ポ マ ミ30E0 ム メ モ ャ ヤ ュ ユ ョ ヨ ラ リ ル レ ロ ヮ ワ30F0 ヰ ヱ ヲ ン ヴ ヵ ヶ ヷ ヸ ヹ ヺ ・ ー ヽ ヾ ヿ
Unicode
1文字ずつコードを比較していたら大変・・・
![Page 17: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/17.jpg)
正規表現あらゆるパターンを列挙せずに文字列群を簡潔に表現
カタカナEx. 1
![Page 18: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/18.jpg)
正規表現あらゆるパターンを列挙せずに文字列群を簡潔に表現
カタカナEx. 1
$regex:="[\\u30A0-\\u30FF]+"
$yomi:="ミヤコケイスケ"
$match:=Match regex($regex;$yomi)
![Page 19: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/19.jpg)
正規表現あらゆるパターンを列挙せずに文字列群を簡潔に表現
カタカナEx. 1
$regex:="[\\u30A0-\\u30FF]+"
$yomi:="ミヤコケイスケ"
$match:=Match regex($regex;$yomi)
文字コードが合致
![Page 20: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/20.jpg)
正規表現あらゆるパターンを列挙せずに文字列群を簡潔に表現
カタカナEx. 1
$regex:="[\\u30A0-\\u30FF]+"
$yomi:="ミヤコケイスケ"
$match:=Match regex($regex;$yomi)
![Page 21: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/21.jpg)
正規表現あらゆるパターンを列挙せずに文字列群を簡潔に表現
カタカナEx. 1
$regex:="[:Katakana:]+"
$yomi:="ミヤコケイスケ"
$match:=Match regex($regex;$yomi)
![Page 22: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/22.jpg)
正規表現あらゆるパターンを列挙せずに文字列群を簡潔に表現
カタカナEx. 1
$regex:="[:Katakana:]+"
$yomi:="ミヤコケイスケ"
$match:=Match regex($regex;$yomi)
プロパティが合致
![Page 23: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/23.jpg)
正規表現あらゆるパターンを列挙せずに文字列群を簡潔に表現
カタカナEx. 1
$regex:="[:Katakana:]+"
$yomi:="ミヤコケイスケ"
$match:=Match regex($regex;$yomi)
![Page 24: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/24.jpg)
正規表現あらゆるパターンを列挙せずに文字列群を簡潔に表現
半角カタカナEx. 2
$regex:="[:East Asian Width=Halfwidth:]+"
$yomi:="ミヤコケイスケ"
$match:=Match regex($regex;$yomi)
![Page 25: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/25.jpg)
正規表現あらゆるパターンを列挙せずに文字列群を簡潔に表現
漢字Ex. 3
$regex:="[:Ideographic:]+"
$name:="宮古啓介"
$match:=Match regex($regex;$name)
![Page 26: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/26.jpg)
正規表現あらゆるパターンを列挙せずに文字列群を簡潔に表現
英数Ex. 4
$regex:="[:East Asian Width=Narrow:]+"
$user:="miyako0922"ス
$match:=Match regex($regex;$user)
![Page 27: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/27.jpg)
正規表現あらゆるパターンを列挙せずに文字列群を簡潔に表現
電子メールアドレスEx. 5
![Page 28: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/28.jpg)
正規表現あらゆるパターンを列挙せずに文字列群を簡潔に表現
http://www.w3.org/TR/html5-author/states-of-the-type-attribute.html#e-mail-state-(type=email)
電子メールアドレスEx. 5
$regex:="^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+\ @[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$"
$address:="[email protected]"ス
$match:=Match regex($regex;$address)
![Page 29: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/29.jpg)
正規表現
![Page 30: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/30.jpg)
正規表現使用する理由
![Page 31: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/31.jpg)
正規表現
一般
使用する理由
![Page 32: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/32.jpg)
正規表現
‣文字列処理の標準ツール(構文・ライブラリで提供)一般
使用する理由
![Page 33: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/33.jpg)
正規表現
‣文字列処理の標準ツール(構文・ライブラリで提供)‣既存のソリューションが豊富
一般
使用する理由
![Page 34: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/34.jpg)
正規表現
‣文字列処理の標準ツール(構文・ライブラリで提供)‣既存のソリューションが豊富
一般
4D
使用する理由
![Page 35: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/35.jpg)
正規表現
‣文字列処理の標準ツール(構文・ライブラリで提供)‣既存のソリューションが豊富
‣包括的( c.f. Character code)
一般
4D
使用する理由
![Page 36: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/36.jpg)
正規表現
‣文字列処理の標準ツール(構文・ライブラリで提供)‣既存のソリューションが豊富
‣包括的( c.f. Character code)
‣厳格(c.f. Position,=,#)
一般
4D
使用する理由
![Page 37: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/37.jpg)
Match regex
![Page 38: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/38.jpg)
Match regex構文
![Page 39: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/39.jpg)
Match regex構文
1/7
![Page 40: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/40.jpg)
Match regex構文
1/7
C_TEXT($regex;$string)C_BOOLEAN($match)
$match:=Match regex($regex;$string)
![Page 41: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/41.jpg)
Match regex構文
1/7
C_TEXT($regex;$string)C_BOOLEAN($match)
$match:=Match regex($regex;$string)
$stringが$regexにピッタリ合致すればTrue
![Page 42: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/42.jpg)
Match regex構文
2/7
![Page 43: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/43.jpg)
Match regex構文
2/7
C_TEXT($regex;$string)C_BOOLEAN($match)C_LONGINT($start)
$match:=Match regex($regex;$string;$start)
![Page 44: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/44.jpg)
Match regex構文
2/7
C_TEXT($regex;$string)C_BOOLEAN($match)C_LONGINT($start)
$match:=Match regex($regex;$string;$start)
$stringが$regexに$start以降で合致すればTrue
![Page 45: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/45.jpg)
Match regex構文
3/7
![Page 46: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/46.jpg)
Match regex構文
3/7
C_TEXT($regex;$string)C_BOOLEAN($match)C_LONGINT($start)
$match:=Match regex($regex;$string;$start;*)
![Page 47: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/47.jpg)
Match regex構文
3/7
C_TEXT($regex;$string)C_BOOLEAN($match)C_LONGINT($start)
$match:=Match regex($regex;$string;$start;*)
$stringが$regexに$startでピッタリ合致すればTrue
![Page 48: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/48.jpg)
Match regex構文
4/7
![Page 49: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/49.jpg)
Match regex構文
4/7
C_TEXT($regex;$string)C_BOOLEAN($match)C_LONGINT($start;$pos;$len)
$match:=Match regex($regex;$string;$start;$pos;$len)
![Page 50: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/50.jpg)
Match regex構文
4/7
C_TEXT($regex;$string)C_BOOLEAN($match)C_LONGINT($start;$pos;$len)
$match:=Match regex($regex;$string;$start;$pos;$len)
$stringが$regexに$start以降で合致すればTrue
![Page 51: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/51.jpg)
Match regex構文
4/7
C_TEXT($regex;$string)C_BOOLEAN($match)C_LONGINT($start;$pos;$len)
$match:=Match regex($regex;$string;$start;$pos;$len)
$len: 合致した文字数
$pos: 合致した位置
$stringが$regexに$start以降で合致すればTrue
![Page 52: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/52.jpg)
Match regex構文
5/7
![Page 53: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/53.jpg)
Match regex構文
5/7
C_TEXT($regex;$string)C_BOOLEAN($match)C_LONGINT($start;$pos;$len)
$match:=Match regex($regex;$string;$start;$pos;$len;*)
![Page 54: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/54.jpg)
Match regex構文
5/7
C_TEXT($regex;$string)C_BOOLEAN($match)C_LONGINT($start;$pos;$len)
$match:=Match regex($regex;$string;$start;$pos;$len;*)
$stringが$regexに$startでピッタリ合致すればTrue
![Page 55: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/55.jpg)
Match regex構文
5/7
C_TEXT($regex;$string)C_BOOLEAN($match)C_LONGINT($start;$pos;$len)
$match:=Match regex($regex;$string;$start;$pos;$len;*)
$len: 合致した文字数
$pos: 合致した位置
$stringが$regexに$startでピッタリ合致すればTrue
![Page 56: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/56.jpg)
Match regex構文
6/7
![Page 57: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/57.jpg)
Match regex構文
6/7
C_TEXT($regex;$string)C_BOOLEAN($match)C_LONGINT($start)ARRAY LONGINT($pos;0)ARRAY LONGINT($len;0)
$match:=Match regex($regex;$string;$start;$pos;$len)
![Page 58: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/58.jpg)
Match regex構文
6/7
C_TEXT($regex;$string)C_BOOLEAN($match)C_LONGINT($start)ARRAY LONGINT($pos;0)ARRAY LONGINT($len;0)
$match:=Match regex($regex;$string;$start;$pos;$len)
$stringが$regexに$start以降で合致すればTrue
![Page 59: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/59.jpg)
Match regex構文
6/7
C_TEXT($regex;$string)C_BOOLEAN($match)C_LONGINT($start)ARRAY LONGINT($pos;0)ARRAY LONGINT($len;0)
$match:=Match regex($regex;$string;$start;$pos;$len)
$stringが$regexに$start以降で合致すればTrue
$len: グループ毎の合致した文字数
$pos: グループ毎の合致した位置
![Page 60: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/60.jpg)
Match regex構文
7/7
![Page 61: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/61.jpg)
Match regex構文
7/7
C_TEXT($regex;$string)C_BOOLEAN($match)C_LONGINT($start)ARRAY LONGINT($pos;0)ARRAY LONGINT($len;0)
$match:=Match regex($regex;$string;$start;$pos;$len;*)
![Page 62: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/62.jpg)
Match regex構文
7/7
C_TEXT($regex;$string)C_BOOLEAN($match)C_LONGINT($start)ARRAY LONGINT($pos;0)ARRAY LONGINT($len;0)
$match:=Match regex($regex;$string;$start;$pos;$len;*)
$stringが$regexに$startでピッタリ合致すればTrue
![Page 63: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/63.jpg)
Match regex構文
7/7
C_TEXT($regex;$string)C_BOOLEAN($match)C_LONGINT($start)ARRAY LONGINT($pos;0)ARRAY LONGINT($len;0)
$match:=Match regex($regex;$string;$start;$pos;$len;*)
$stringが$regexに$startでピッタリ合致すればTrue
$len: グループ毎の合致した文字数
$pos: グループ毎の合致した位置
![Page 64: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/64.jpg)
正規表現
![Page 65: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/65.jpg)
正規表現メタ文字
http://userguide.icu-project.org/strings/regexp
![Page 66: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/66.jpg)
正規表現メタ文字
http://userguide.icu-project.org/strings/regexp
\A 入力の始まり \d 数字 \x 文字を2桁16進で指定\z 入力の終わり \D 数字ではない \u 文字を4桁16進で指定
\Z 入力の終わり* \p プロパティ有 \U 文字を8桁16進で指定
\b ワードの区切り \P プロパティ無 \0 文字を3桁で8進で指定
\B ワードの区切りではない \s 空白 \N 文字を名前で指定
\a ベル(U+0007) \S 空白ではない \1 捕捉したグループの参照
\t TAB(U+0009) \w ワード文字 \G パターンの後わり\e ESC(U+001B) \W ワード文字ではない . 文字\r CR(U+000D) \Q エスケープシーケンス始 ^ 行の始まり\f FF(U+000C) \E エスケープシーケンス終 $ 行の終わり\n LF(U+000A) \X グラフィームクラスター \ 後続の文字をエスケープ
*端末文字は含まない
![Page 67: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/67.jpg)
正規表現メタ文字
http://userguide.icu-project.org/strings/regexp
\A 入力の始まり \d 数字 \x 文字を2桁16進で指定\z 入力の終わり \D 数字ではない \u 文字を4桁16進で指定
\Z 入力の終わり* \p プロパティ有 \U 文字を8桁16進で指定
\b ワードの区切り \P プロパティ無 \0 文字を3桁で8進で指定
\B ワードの区切りではない \s 空白 \N 文字を名前で指定
\a ベル(U+0007) \S 空白ではない \1 捕捉したグループの参照
\t TAB(U+0009) \w ワード文字 \G パターンの後わり\e ESC(U+001B) \W ワード文字ではない . 文字\r CR(U+000D) \Q エスケープシーケンス始 ^ 行の始まり\f FF(U+000C) \E エスケープシーケンス終 $ 行の終わり\n LF(U+000A) \X グラフィームクラスター \ 後続の文字をエスケープ
*端末文字は含まない
basic
![Page 68: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/68.jpg)
正規表現メタ文字
http://userguide.icu-project.org/strings/regexp
\A 入力の始まり \d 数字 \x 文字を2桁16進で指定\z 入力の終わり \D 数字ではない \u 文字を4桁16進で指定
\Z 入力の終わり* \p プロパティ有 \U 文字を8桁16進で指定
\b ワードの区切り \P プロパティ無 \0 文字を3桁で8進で指定
\B ワードの区切りではない \s 空白 \N 文字を名前で指定
\a ベル(U+0007) \S 空白ではない \1 捕捉したグループの参照
\t TAB(U+0009) \w ワード文字 \G パターンの後わり\e ESC(U+001B) \W ワード文字ではない . 文字\r CR(U+000D) \Q エスケープシーケンス始 ^ 行の始まり\f FF(U+000C) \E エスケープシーケンス終 $ 行の終わり\n LF(U+000A) \X グラフィームクラスター \ 後続の文字をエスケープ
*端末文字は含まない
advanced
![Page 69: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/69.jpg)
正規表現メタ文字
http://userguide.icu-project.org/strings/regexp
basic
. 文字
$regex:="Column."$string:="ColumnA"$match:=Match regex($regex;$string)
![Page 70: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/70.jpg)
正規表現メタ文字
http://userguide.icu-project.org/strings/regexp
basic
True
. 文字
$regex:="Column."$string:="ColumnA"$match:=Match regex($regex;$string)
![Page 71: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/71.jpg)
正規表現メタ文字
http://userguide.icu-project.org/strings/regexp
basic
$regex:="Column\\d"$string:="Column2"$match:=Match regex($regex;$string)
\d 数字
![Page 72: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/72.jpg)
正規表現メタ文字
http://userguide.icu-project.org/strings/regexp
basic
$regex:="Column\\d"$string:="Column2"$match:=Match regex($regex;$string)
True
\d 数字
![Page 73: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/73.jpg)
正規表現メタ文字
http://userguide.icu-project.org/strings/regexp
basic
$regex:="\\d"$string:="Column1"$match:=Match regex($regex;$string;1;$pos;$len)$substring:=Substring($string;$pos;$len)
\d 数字
![Page 74: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/74.jpg)
正規表現メタ文字
http://userguide.icu-project.org/strings/regexp
basic
$regex:="\\d"$string:="Column1"$match:=Match regex($regex;$string;1;$pos;$len)$substring:=Substring($string;$pos;$len)
\d 数字
True
![Page 75: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/75.jpg)
正規表現メタ文字
http://userguide.icu-project.org/strings/regexp
basic
$regex:="\\d"$string:="Column1"$match:=Match regex($regex;$string;1;$pos;$len)$substring:=Substring($string;$pos;$len)
1
\d 数字
True
![Page 76: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/76.jpg)
正規表現メタ文字
http://userguide.icu-project.org/strings/regexp
basic
$regex:="Column\\s\\d"$string:="Column 2"$match:=Match regex($regex;$string)
\s 空白
![Page 77: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/77.jpg)
正規表現メタ文字
http://userguide.icu-project.org/strings/regexp
basic
$regex:="Column\\s\\d"$string:="Column 2"$match:=Match regex($regex;$string)
True
\s 空白
![Page 78: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/78.jpg)
正規表現メタ文字
http://userguide.icu-project.org/strings/regexp
basic
$regex:="Column\\s\\d"$string:="Column 2"$match:=Match regex($regex;$string)
True
\s 空白
\s: [\t\n\f\r\p{Z}] 全角スペース タブ 改行 その他 [:Separator:]
![Page 79: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/79.jpg)
正規表現メタ文字
http://userguide.icu-project.org/strings/regexp
basic
$regex:="Column\\u0001"$string:="Column"+Char(1)$match:=Match regex($regex;$string)
\u 文字を4桁16進で指定
![Page 80: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/80.jpg)
正規表現メタ文字
http://userguide.icu-project.org/strings/regexp
basic
$regex:="Column\\u0001"$string:="Column"+Char(1)$match:=Match regex($regex;$string)
True
\u 文字を4桁16進で指定
![Page 81: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/81.jpg)
正規表現メタ文字
http://userguide.icu-project.org/strings/regexp
basic
$regex:="^Column\\d"$string:=" Column1"$match:=Match regex($regex;$string;1)
^ 行の始まり
![Page 82: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/82.jpg)
正規表現メタ文字
http://userguide.icu-project.org/strings/regexp
basic
$regex:="^Column\\d"$string:=" Column1"$match:=Match regex($regex;$string;1)
False
^ 行の始まり
![Page 83: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/83.jpg)
正規表現メタ文字
http://userguide.icu-project.org/strings/regexp
basic
$regex:="Column\\d$"$string:="Column1 "$match:=Match regex($regex;$string;1)
$ 行の終わり
![Page 84: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/84.jpg)
正規表現メタ文字
http://userguide.icu-project.org/strings/regexp
basic
$regex:="Column\\d$"$string:="Column1 "$match:=Match regex($regex;$string;1)
False
$ 行の終わり
![Page 85: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/85.jpg)
正規表現メタ文字
http://userguide.icu-project.org/strings/regexp
basic
$regex:="Column\\d\\.\\d"$string:="Column1.2"$match:=Match regex($regex;$string;1)
\ 後続の文字をエスケープ
![Page 86: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/86.jpg)
正規表現メタ文字
http://userguide.icu-project.org/strings/regexp
basic
$regex:="Column\\d\\.\\d"$string:="Column1.2"$match:=Match regex($regex;$string;1)
\ 後続の文字をエスケープ
エスケープが必要な文字: * ? + [ ( ) { } ^ $ | \ .
![Page 87: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/87.jpg)
正規表現メタ文字
http://userguide.icu-project.org/strings/regexp
basic
$regex:="Column\\d\\.\\d"$string:="Column1.2"$match:=Match regex($regex;$string;1)
\ 後続の文字をエスケープ
エスケープが必要な文字: * ? + [ ( ) { } ^ $ | \ .
True
![Page 88: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/88.jpg)
正規表現
![Page 89: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/89.jpg)
正規表現演算子
http://userguide.icu-project.org/strings/regexp
![Page 90: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/90.jpg)
正規表現演算子
http://userguide.icu-project.org/strings/regexp
| パターンの論理和【OR】 {n} n個ピッタリ
* 0個以上,できるだけ多く【控えめ】 {n,} n個以上,できるだけ多く【控えめ】
+ 1個以上,できるだけ多く【控えめ】 {n,m} n個以上,m個以下,できるだけ多く【控えめ】
*+ 0個以上,できるだけ多く【欲張り】 {n,} n個以上,できるだけ多く【欲張り】
++ 1個以上,できるだけ多く【欲張り】 {n,m} n個以上,m個以下,できるだけ多く【 欲張り】
*? 0個以上,できるだけ少なく (...) 捕捉するグループ
+? 1個以上,できるだけ少なく (?:...) 捕捉しないグループ
? 1個以下,できれば1個【控えめ】 (?=...) 先読みアサーション
?+ 1個以下,できれば1個【欲張り】 (?!...) 否定先読みアサーション
?? 1個以下,できれば0個 (?<=...) 後読みアサーション
(?#...) コメント (?<!...) 否定後読みアサーション
![Page 91: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/91.jpg)
正規表現演算子
http://userguide.icu-project.org/strings/regexp
| パターンの論理和【OR】 {n} n個ピッタリ
* 0個以上,できるだけ多く【控えめ】 {n,} n個以上,できるだけ多く【控えめ】
+ 1個以上,できるだけ多く【控えめ】 {n,m} n個以上,m個以下,できるだけ多く【控えめ】
*+ 0個以上,できるだけ多く【欲張り】 {n,} n個以上,できるだけ多く【欲張り】
++ 1個以上,できるだけ多く【欲張り】 {n,m} n個以上,m個以下,できるだけ多く【 欲張り】
*? 0個以上,できるだけ少なく (...) 捕捉するグループ
+? 1個以上,できるだけ少なく (?:...) 捕捉しないグループ
? 1個以下,できれば1個【控えめ】 (?=...) 先読みアサーション
?+ 1個以下,できれば1個【欲張り】 (?!...) 否定先読みアサーション
?? 1個以下,できれば0個 (?<=...) 後読みアサーション
(?#...) コメント (?<!...) 否定後読みアサーション
basic
![Page 92: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/92.jpg)
正規表現演算子
http://userguide.icu-project.org/strings/regexp
| パターンの論理和【OR】 {n} n個ピッタリ
* 0個以上,できるだけ多く【控えめ】 {n,} n個以上,できるだけ多く【控えめ】
+ 1個以上,できるだけ多く【控えめ】 {n,m} n個以上,m個以下,できるだけ多く【控えめ】
*+ 0個以上,できるだけ多く【欲張り】 {n,} n個以上,できるだけ多く【欲張り】
++ 1個以上,できるだけ多く【欲張り】 {n,m} n個以上,m個以下,できるだけ多く【 欲張り】
*? 0個以上,できるだけ少なく (...) 捕捉するグループ
+? 1個以上,できるだけ少なく (?:...) 捕捉しないグループ
? 1個以下,できれば1個【控えめ】 (?=...) 先読みアサーション
?+ 1個以下,できれば1個【欲張り】 (?!...) 否定先読みアサーション
?? 1個以下,できれば0個 (?<=...) 後読みアサーション
(?#...) コメント (?<!...) 否定後読みアサーション
advanced
![Page 93: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/93.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
basic
$regex:="\\d+"$string:="123"$match:=Match regex($regex;$string)
演算子+ 1個以上,できるだけ多く【控えめ】
![Page 94: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/94.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
basic
$regex:="\\d+"$string:="123"$match:=Match regex($regex;$string)
演算子+ 1個以上,できるだけ多く【控えめ】
True
![Page 95: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/95.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
basic
$regex:="\\d+"$string:="-123"$match:=Match regex($regex;$string)
演算子+ 1個以上,できるだけ多く【控えめ】
![Page 96: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/96.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
basic
$regex:="\\d+"$string:="-123"$match:=Match regex($regex;$string)
演算子
False
+ 1個以上,できるだけ多く【控えめ】
![Page 97: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/97.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
basic
$regex:="-?\\d+"$string:="-123"$match:=Match regex($regex;$string)
演算子? 1個以下,できれば1個【控えめ】
![Page 98: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/98.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
basic
$regex:="-?\\d+"$string:="-123"$match:=Match regex($regex;$string)
True
演算子? 1個以下,できれば1個【控えめ】
![Page 99: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/99.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
basic
$regex:="-|\\+\\d+"$string:="+123"$match:=Match regex($regex;$string)
演算子| パターンの論理和【OR】
![Page 100: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/100.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
basic
$regex:="-|\\+\\d+"$string:="+123"$match:=Match regex($regex;$string)
True
演算子| パターンの論理和【OR】
![Page 101: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/101.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
basic
$regex:="-?(?:\\d|,)+"$string:="-123,456"$match:=Match regex($regex;$string)
演算子(?:...) 捕捉しないグループ
![Page 102: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/102.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
basic
$regex:="-?(?:\\d|,)+"$string:="-123,456"$match:=Match regex($regex;$string)
True
演算子(?:...) 捕捉しないグループ
![Page 103: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/103.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
basic
$regex:="ID-\\d{6}"$string:="ID-123456"$match:=Match regex($regex;$string)
演算子{n} n個ピッタリ
![Page 104: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/104.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
basic
$regex:="ID-\\d{6}"$string:="ID-123456"$match:=Match regex($regex;$string)
True
演算子{n} n個ピッタリ
![Page 105: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/105.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
basic
$regex:="\\d{4}-\\d{1,2}-\\d{1,2}"$string:="2013-1-13"$match:=Match regex($regex;$string)
演算子{n,m} n個以上,m個以下,できるだけ多く【控えめ】
![Page 106: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/106.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
basic
$regex:="\\d{4}-\\d{1,2}-\\d{1,2}"$string:="2013-1-13"$match:=Match regex($regex;$string)
True
演算子{n,m} n個以上,m個以下,できるだけ多く【控えめ】
![Page 107: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/107.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
basic演算子* 0個以上,できるだけ多く【控えめ】
$regex:="Column\\d*"$string:="Column12345"$match:=Match regex($regex;$string;1;$pos;$len)$substring:=Substring($string;$pos;$len)
![Page 108: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/108.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
basic演算子* 0個以上,できるだけ多く【控えめ】
$regex:="Column\\d*"$string:="Column12345"$match:=Match regex($regex;$string;1;$pos;$len)$substring:=Substring($string;$pos;$len)
True
![Page 109: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/109.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
basic演算子* 0個以上,できるだけ多く【控えめ】
$regex:="Column\\d*"$string:="Column12345"$match:=Match regex($regex;$string;1;$pos;$len)$substring:=Substring($string;$pos;$len)
Column12345True
![Page 110: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/110.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
basic演算子
$regex:=".+?:\\d+,??"$string:="tea:10,coffee:4"$match:=Match regex($regex;$string;1;$pos;$len)$substring:=Substring($string;$pos;$len)
+? 1個以上,できるだけ少なく【控えめ】
?? 1個以下,できれば0個【控えめ】
![Page 111: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/111.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
basic演算子
$regex:=".+?:\\d+,??"$string:="tea:10,coffee:4"$match:=Match regex($regex;$string;1;$pos;$len)$substring:=Substring($string;$pos;$len)
+? 1個以上,できるだけ少なく【控えめ】
?? 1個以下,できれば0個【控えめ】
True
![Page 112: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/112.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
basic演算子
$regex:=".+?:\\d+,??"$string:="tea:10,coffee:4"$match:=Match regex($regex;$string;1;$pos;$len)$substring:=Substring($string;$pos;$len)
tea:10
+? 1個以上,できるだけ少なく【控えめ】
?? 1個以下,できれば0個【控えめ】
True
![Page 113: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/113.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
basic演算子
$regex:=".+:\\d+,?"$string:="tea:10,coffee:4"$match:=Match regex($regex;$string;1;$pos;$len)$substring:=Substring($string;$pos;$len)
+ 1個以上,できるだけ多く【控えめ】
? 1個以下,できれば1個【控えめ】
![Page 114: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/114.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
basic演算子
$regex:=".+:\\d+,?"$string:="tea:10,coffee:4"$match:=Match regex($regex;$string;1;$pos;$len)$substring:=Substring($string;$pos;$len)
+ 1個以上,できるだけ多く【控えめ】
? 1個以下,できれば1個【控えめ】
True
![Page 115: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/115.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
basic演算子
$regex:=".+:\\d+,?"$string:="tea:10,coffee:4"$match:=Match regex($regex;$string;1;$pos;$len)$substring:=Substring($string;$pos;$len)
tea:10,coffee:4
+ 1個以上,できるだけ多く【控えめ】
? 1個以下,できれば1個【控えめ】
True
![Page 116: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/116.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
basic演算子
$regex:=".+:\\d+,?"$string:="tea:10,coffee:4"$match:=Match regex($regex;$string;1;$pos;$len)$substring:=Substring($string;$pos;$len)
tea:10,coffee:4
+ 1個以上,できるだけ多く【控えめ】
? 1個以下,できれば1個【控えめ】
控えめ: 全体がマッチするのであれば最大数以下で満足する(数を減らして再評価)
True
![Page 117: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/117.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
演算子
$regex:=".++:\\d+,?+"$string:="tea:10,coffee:4"$match:=Match regex($regex;$string;1;$pos;$len)$substring:=Substring($string;$pos;$len)
advanced
+ + 1個以上,できるだけ多く【欲張り】
?+ 1個以下,できれば1個【欲張り】
![Page 118: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/118.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
演算子
$regex:=".++:\\d+,?+"$string:="tea:10,coffee:4"$match:=Match regex($regex;$string;1;$pos;$len)$substring:=Substring($string;$pos;$len)
advanced
+ + 1個以上,できるだけ多く【欲張り】
?+ 1個以下,できれば1個【欲張り】
False
![Page 119: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/119.jpg)
正規表現
http://userguide.icu-project.org/strings/regexp
演算子
$regex:=".++:\\d+,?+"$string:="tea:10,coffee:4"$match:=Match regex($regex;$string;1;$pos;$len)$substring:=Substring($string;$pos;$len)
advanced
+ + 1個以上,できるだけ多く【欲張り】
?+ 1個以下,できれば1個【欲張り】
False
欲張り: 数を減らすことで全体がマッチするとしても取ったものは手放さない
![Page 120: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/120.jpg)
正規表現
![Page 121: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/121.jpg)
正規表現グループ
http://userguide.icu-project.org/strings/regexp
![Page 122: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/122.jpg)
正規表現グループ
http://userguide.icu-project.org/strings/regexp
ARRAY LONGINT($pos;0)ARRAY LONGINT($len;0)$regex:="(^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+)\ @([a-zA-Z0-9-]+)(\\.[a-zA-Z0-9-]+)*$"$string:="[email protected]"$match:=Match regex($regex;$string;1;$pos;$len)$group1:=Substring($string;$pos{1};$len{1})$group2:=Substring($string;$pos{2};$len{2})$group3:=Substring($string;$pos{3};$len{3})
![Page 123: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/123.jpg)
正規表現グループ
http://userguide.icu-project.org/strings/regexp
ARRAY LONGINT($pos;0)ARRAY LONGINT($len;0)$regex:="(^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+)\ @([a-zA-Z0-9-]+)(\\.[a-zA-Z0-9-]+)*$"$string:="[email protected]"$match:=Match regex($regex;$string;1;$pos;$len)$group1:=Substring($string;$pos{1};$len{1})$group2:=Substring($string;$pos{2};$len{2})$group3:=Substring($string;$pos{3};$len{3})
配列の要素数は捕捉グループ数に対応する
![Page 124: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/124.jpg)
正規表現グループ
http://userguide.icu-project.org/strings/regexp
ARRAY LONGINT($pos;0)ARRAY LONGINT($len;0)$regex:="(^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+)\ @([a-zA-Z0-9-]+)(\\.[a-zA-Z0-9-]+)*$"$string:="[email protected]"$match:=Match regex($regex;$string;1;$pos;$len)$group1:=Substring($string;$pos{1};$len{1})$group2:=Substring($string;$pos{2};$len{2})$group3:=Substring($string;$pos{3};$len{3})
配列の要素数は捕捉グループ数に対応する位置とサイズはそのままSubstringに渡すことができる
![Page 125: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/125.jpg)
正規表現グループ
http://userguide.icu-project.org/strings/regexp
ARRAY LONGINT($pos;0)ARRAY LONGINT($len;0)$regex:="(^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+)\ @([a-zA-Z0-9-]+)(\\.[a-zA-Z0-9-]+)*$"$string:="[email protected]"$match:=Match regex($regex;$string;1;$pos;$len)$group1:=Substring($string;$pos{1};$len{1})$group2:=Substring($string;$pos{2};$len{2})$group3:=Substring($string;$pos{3};$len{3})$group1 keisuke.miyako
$group2 4d
$group3 .com
配列の要素数は捕捉グループ数に対応する位置とサイズはそのままSubstringに渡すことができる
![Page 126: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/126.jpg)
正規表現
![Page 127: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/127.jpg)
正規表現セット
http://userguide.icu-project.org/strings/regexp
![Page 128: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/128.jpg)
正規表現セット
http://userguide.icu-project.org/strings/regexp
[BC] 列挙した文字のどれかに合致[^BC] 列挙した文字でなければ合致[B-D] 指定した範囲内の文字に合致(コードポイント順)
[:Letter:] プロパティで合致【POSIX表記】[\p{Letter}] プロパティで合致【Perl表記】
[\p{L}] プロパティで合致【Perl表記・短縮形】[\p{property=value}] プロパティと値で合致
[[:...:][:...:]] セットの集合結合【UNION】[[:...:]-[:...:]] セットの集合差異【DIFFERENCE】[[:...:]&[:...:]] セットの集合交差【INTERSECTION】[\\u0001] コードポイントに合致
[\\u0001-\\u0020] コードポイントの範囲に合致
![Page 129: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/129.jpg)
正規表現セット
http://userguide.icu-project.org/strings/regexp
$regex:=".+\\.4D[BC]"$string:="sample.4DB"$match:=Match regex($regex;$string)
[BC] 列挙した文字のどれかに合致
![Page 130: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/130.jpg)
正規表現セット
http://userguide.icu-project.org/strings/regexp
$regex:=".+\\.4D[^BC]"$string:="sample.4DD"$match:=Match regex($regex;$string)
[^BC] 列挙した文字でなければ合致
![Page 131: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/131.jpg)
正規表現セット
http://userguide.icu-project.org/strings/regexp
$regex:=".+\\.4D[B-D]"$string:="sample.4DD"$match:=Match regex($regex;$string)
[B-D] 指定した範囲内の文字に合致(コードポイント順)
![Page 132: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/132.jpg)
正規表現セット
http://userguide.icu-project.org/strings/regexp
$regex:=".+\\.4D[:Letter:]"$string:="sample.4DB"$match:=Match regex($regex;$string)
[:Letter:] プロパティで合致【POSIX表記】
![Page 133: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/133.jpg)
正規表現セット
http://userguide.icu-project.org/strings/regexp
$regex:=".+\\.4D[\\p{Letter}]"$string:="sample.4DB"$match:=Match regex($regex;$string)
[\p{Letter}] プロパティで合致【Perl表記】
![Page 134: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/134.jpg)
正規表現セット
http://userguide.icu-project.org/strings/regexp
$regex:=".+\\.4D[\\p{L}]"$string:="sample.4DB"$match:=Match regex($regex;$string)
[\p{L}] プロパティで合致【Perl表記・短縮形】
![Page 135: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/135.jpg)
正規表現セット
http://userguide.icu-project.org/strings/regexp
$regex:="[\\p{numeric_value=9}]+"$string:="99九Ⅸⅸ⑨⑼⒐❾"$match:=Match regex($regex;$string)
[\p{property=value}] プロパティと値で合致
$regex:="[\\p{numeric_value=9}]+"$string:="abc"+char(9)$match:=Match regex($regex;$string)
![Page 136: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/136.jpg)
正規表現セット
http://userguide.icu-project.org/strings/regexp
$regex:=".+\\.4D[[:Letter:][:Number:]]"$string:="sample.4DB"$match:=Match regex($regex;$string)
[[:...:][:...:]] セットの集合結合【UNION】
![Page 137: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/137.jpg)
正規表現セット
http://userguide.icu-project.org/strings/regexp
$regex:=".+\\.4D[[:Letter:]-[:Number:]]"$string:="sample.4DB"$match:=Match regex($regex;$string)
[[:...:]-[:...:]] セットの集合差異【DIFFERENCE】
![Page 138: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/138.jpg)
正規表現セット
http://userguide.icu-project.org/strings/regexp
$regex:=".+\\.4D[[:Letter:]&[:Uppercase:]]"$string:="sample.4DB"$match:=Match regex($regex;$string)
[[:...:]&[:...:]] セットの集合交差【INTERSECTION】
![Page 139: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/139.jpg)
正規表現セット
http://userguide.icu-project.org/strings/regexp
$regex:=".+\\.4D[\\p{Lu}]"$string:="sample.4DB"$match:=Match regex($regex;$string)
[\p{Lu}] プロパティで合致【Letter, Uppercase】
![Page 140: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/140.jpg)
正規表現セット
http://userguide.icu-project.org/strings/regexp
$regex:=".+[\\u0001]"$string:="abc"+char(1)$match:=Match regex($regex;$string)
[\\u0001] コードポイントに合致
![Page 141: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/141.jpg)
正規表現セット
http://userguide.icu-project.org/strings/regexp
$regex:=".+[\\u0001-\\u0020]"$string:="abc"+char(9)$match:=Match regex($regex;$string)
[\\u0001-\\u0020] コードポイントの範囲に合致
![Page 142: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/142.jpg)
正規表現セット
http://userguide.icu-project.org/strings/regexp
$regex:="[\\p{numeric_value=9}]+"$string:="ミヤコケイスケ"$match:=Match regex($regex;$string)
$regex:="[:Katakana:]+"$string:="abc"+char(9)$match:=Match regex($regex;$string)
[:Katakana:] プロパティで合致
![Page 143: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/143.jpg)
正規表現セット
http://userguide.icu-project.org/strings/regexp
$regex:="[\\p{numeric_value=9}]+"$string:="ミヤコケイスケ"$match:=Match regex($regex;$string)
$regex:="[:East Asian Width=Halfwidth:]+"$string:="abc"+char(9)$match:=Match regex($regex;$string)
[: property=value:] プロパティと値で合致
![Page 144: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/144.jpg)
正規表現
![Page 145: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/145.jpg)
正規表現フラグ
http://userguide.icu-project.org/strings/regexp
![Page 146: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/146.jpg)
正規表現フラグ
http://userguide.icu-project.org/strings/regexp
i 【英】大文字と小文字を区別しない
x パターン内のコメントを許可する
s 改行も文字として扱う("."に合致)
m 行単位で入力を処理する("^"に始まり"$"で終わる)
w ワードの区切りに境界解析を使用する("\b"に合致)
![Page 147: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/147.jpg)
正規表現フラグ
http://userguide.icu-project.org/strings/regexp
i 【英】大文字と小文字を区別しない
x パターン内のコメントを許可する
s 改行も文字として扱う("."に合致)
m 行単位で入力を処理する("^"に始まり"$"で終わる)
w ワードの区切りに境界解析を使用する("\b"に合致)
![Page 148: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/148.jpg)
正規表現フラグ
i 【英】大文字と小文字を区別しない
定義: Uppercase, Lowercase, Titlecasehttp://unicode.org/faq/casemap_charprop.html
ラテン・ギリシャ・キリル・アルメニア文字・一部の古代文字
http://userguide.icu-project.org/strings/regexp
![Page 149: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/149.jpg)
正規表現フラグ
http://userguide.icu-project.org/strings/regexp
i 【英】大文字と小文字を区別しない
$regex:="[^.]+\\.4db"$string:="sample.4DB"$match:=Match regex($regex;$string)
![Page 150: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/150.jpg)
正規表現フラグ
http://userguide.icu-project.org/strings/regexp
i 【英】大文字と小文字を区別しない
$regex:="[^.]+\\.4db"$string:="sample.4DB"$match:=Match regex($regex;$string)
False
![Page 151: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/151.jpg)
正規表現フラグ
http://userguide.icu-project.org/strings/regexp
i 【英】大文字と小文字を区別しない
$regex:="(?i)[^.]+\\.4db"$string:="sample.4DB"$match:=Match regex($regex;$string)
![Page 152: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/152.jpg)
正規表現フラグ
http://userguide.icu-project.org/strings/regexp
i 【英】大文字と小文字を区別しない
$regex:="(?i)[^.]+\\.4db"$string:="sample.4DB"$match:=Match regex($regex;$string)
True
![Page 153: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/153.jpg)
正規表現フラグ
http://userguide.icu-project.org/strings/regexp
s 改行も文字として扱う("."に合致)
C_LONGINT($pos;$len)$regex:="Content-Length:.+"$string:="Content-Length:100\r\n\ Content-Type:application/json"$match:=Match regex($regex;$string;1;$pos;$len)$substring:=Substring($string;$pos;$len)
![Page 154: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/154.jpg)
正規表現フラグ
http://userguide.icu-project.org/strings/regexp
s 改行も文字として扱う("."に合致)
C_LONGINT($pos;$len)$regex:="Content-Length:.+"$string:="Content-Length:100\r\n\ Content-Type:application/json"$match:=Match regex($regex;$string;1;$pos;$len)$substring:=Substring($string;$pos;$len)
Content-Length:100
![Page 155: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/155.jpg)
正規表現フラグ
http://userguide.icu-project.org/strings/regexp
s 改行も文字として扱う("."に合致)
C_LONGINT($pos;$len)$regex:="(?s)Content-Length:.+"$string:="Content-Length:100\r\n\ Content-Type:application/json"$match:=Match regex($regex;$string;1;$pos;$len)$substring:=Substring($string;$pos;$len)
![Page 156: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/156.jpg)
正規表現フラグ
http://userguide.icu-project.org/strings/regexp
s 改行も文字として扱う("."に合致)
C_LONGINT($pos;$len)$regex:="(?s)Content-Length:.+"$string:="Content-Length:100\r\n\ Content-Type:application/json"$match:=Match regex($regex;$string;1;$pos;$len)$substring:=Substring($string;$pos;$len)
Content-Length:100 Content-Type:application/json
![Page 157: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/157.jpg)
正規表現フラグ
http://userguide.icu-project.org/strings/regexp
m 行単位で入力を処理する("^"に始まり"$"で終わる)
$regex:="^Content-Length:.+$"$string:="Content-Length:100\r\n\ Content-Type:application/json"$match:=Match regex($regex;$string;1)
![Page 158: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/158.jpg)
正規表現フラグ
http://userguide.icu-project.org/strings/regexp
m 行単位で入力を処理する("^"に始まり"$"で終わる)
$regex:="^Content-Length:.+$"$string:="Content-Length:100\r\n\ Content-Type:application/json"$match:=Match regex($regex;$string;1)
False
![Page 159: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/159.jpg)
正規表現フラグ
http://userguide.icu-project.org/strings/regexp
m 行単位で入力を処理する("^"に始まり"$"で終わる)
$regex:="(?m)^Content-Length:.+$"$string:="Content-Length:100\r\n\ Content-Type:application/json"$match:=Match regex($regex;$string;1)
![Page 160: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/160.jpg)
正規表現フラグ
http://userguide.icu-project.org/strings/regexp
m 行単位で入力を処理する("^"に始まり"$"で終わる)
$regex:="(?m)^Content-Length:.+$"$string:="Content-Length:100\r\n\ Content-Type:application/json"$match:=Match regex($regex;$string;1)
True
![Page 161: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/161.jpg)
正規表現フラグ
http://userguide.icu-project.org/strings/regexp
$regex:="(?mi)^Content-Length:.+$"$string:="Content-Length:100\r\n\ Content-Type:application/json"$match:=Match regex($regex;$string;1)
m 行単位で入力を処理する("^"に始まり"$"で終わる)
![Page 162: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/162.jpg)
正規表現フラグ
http://userguide.icu-project.org/strings/regexp
$regex:="(?mi)^Content-Length:.+$"$string:="Content-Length:100\r\n\ Content-Type:application/json"$match:=Match regex($regex;$string;1)
True
m 行単位で入力を処理する("^"に始まり"$"で終わる)
![Page 163: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/163.jpg)
正規表現フラグ
http://userguide.icu-project.org/strings/regexp
$regex:="(?mi)^Content-Length:.+$"$string:="Content-Length:100\r\n\ Content-Type:application/json"$match:=Match regex($regex;$string;1)
True
m 行単位で入力を処理する("^"に始まり"$"で終わる)
(?mi) フラグの併用
![Page 164: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/164.jpg)
正規表現フラグ
http://userguide.icu-project.org/strings/regexp
$regex:="(?mi)^Content-Length:.+(?-m)$"$string:="Content-Length:100\r\n\ Content-Type:application/json"$match:=Match regex($regex;$string;1)
m 行単位で入力を処理する("^"に始まり"$"で終わる)
![Page 165: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/165.jpg)
正規表現フラグ
http://userguide.icu-project.org/strings/regexp
$regex:="(?mi)^Content-Length:.+(?-m)$"$string:="Content-Length:100\r\n\ Content-Type:application/json"$match:=Match regex($regex;$string;1)
m 行単位で入力を処理する("^"に始まり"$"で終わる)
(?-m) フラグの取り消し
![Page 166: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/166.jpg)
正規表現フラグ
http://userguide.icu-project.org/strings/regexp
$regex:="(?mi)^Content-Length:.+(?-m)$"$string:="Content-Length:100\r\n\ Content-Type:application/json"$match:=Match regex($regex;$string;1)
m 行単位で入力を処理する("^"に始まり"$"で終わる)
(?-m) フラグの取り消し
False
![Page 167: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/167.jpg)
正規表現フラグ
http://userguide.icu-project.org/strings/regexp
$regex:="[^.]+(?i:\\.4db)"$string:="sample.4DB"$match:=Match regex($regex;$string)
i 【英】大文字と小文字を区別しない
![Page 168: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/168.jpg)
正規表現フラグ
http://userguide.icu-project.org/strings/regexp
$regex:="[^.]+(?i:\\.4db)"$string:="sample.4DB"$match:=Match regex($regex;$string)
i 【英】大文字と小文字を区別しない
True
![Page 169: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/169.jpg)
正規表現フラグ
http://userguide.icu-project.org/strings/regexp
$regex:="[^.]+(?i:\\.4db)"$string:="sample.4DB"$match:=Match regex($regex;$string)
i 【英】大文字と小文字を区別しない
True
(?i:) カッコ内だけで有効なフラグ
![Page 170: Regex](https://reader038.fdocuments.net/reader038/viewer/2022110308/5583434fd8b42a201e8b4bbe/html5/thumbnails/170.jpg)
正規表現