完全に一致するパターンは正規表現では書けないので、妥協版。
^(\w+(?:\s+\w+)*(?:\s|\*|&)+)?(?:(\w+)::)?(~?\w+)\s*\((.*)\)?(?:\s)*\{?
参照番号 | 文字列の意味 |
$1 | 戻り値の型 |
$2 | クラス名 |
$3 | 関数名 |
$4 | 引数リスト |
正規表現の「否定先読み」を使用。
^(?!.*string).+$※"string"という文字列を含まない行を探す例
メールアドレスの表記仕様を完全に満足する正規表現ではないが、HTML5のinput[type=email]という要素で採用されている下記の正規表現があるらしい。
^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$