#author("2018-05-26T13:10:22+09:00","default:mat2umoto","mat2umoto") #author("2018-05-28T15:32:34+09:00","default:mat2umoto","mat2umoto") #contents *正規表現サンプル [#sae41623] **C/C++の関数定義位置 [#b0096cdc] 完全に一致するパターンは正規表現では書けないので、妥協版。 -パターン文字列 ^(\w+(?:\s+\w+)*(?:\s|\*|&)+)?(?:(\w+)::)?(~?\w+)\s*\((.*)\)?(?:\s)*\{? -グループ化文字列の後方参照 |参照番号|文字列の意味|h |$1|戻り値の型| |$2|クラス名| |$3|関数名| |$4|引数リスト| **ある文字列を含まない行 [#a0f3688e] 正規表現の「否定先読み」を使用。 -パターン文字列 ^(?!.*string).+$ ^(?!.*(string)).*$ ^(?!.*(string)).*\r\n ※"string"という文字列を含まない行を探す例 **メールアドレス [#ufc27c79] メールアドレスの表記仕様を完全に満足する正規表現ではないが、HTML5のinput[type=email]という要素で採用されている下記の正規表現があるらしい。 ^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$