<script> var s = '@yamada, @sato, @ito'; var rs = s.match(/yamada/); if (rs){ console.log('マッチしました!'); } </script>
キャレットを使うと、否定、下の例だと、abc以外となります。
[abc]:abc
[a-z]:a~z
[^abc]:abc以外
. :任意の一文字 /y…da/
^ :行頭 /^@yamada/
$ :行末 /@yamada$/
{} :直前の文字の繰り返し回数 0{2} ->00 0{2,}->00以上 0{2,4}->00,000,0000
[a-z]{5} ->a-zの五文字以内
[a-z]{3,6} ->a-zの3~6文字以内
a? : 0or1-> ,a
a* : 0 or more ->, a, aa, aaa
a* : 1 or more -> a, aa, aaa
() :(abc)* -> abc, abcabac
| :or ->(abc|def)
\: \n ->改行, \t ->タブ, \d ->[0-9],\w -> [a-zA-Z0-9_], \s -> スペース \メタ文字 ->メタ文字
i : 大文字小文字を区別しない -> (/yamada/i)
g : 全てのマッチした要素を配列で解す -> s.match(/a/g)
m : 複数行に対応させる -> ^$は一行のみだが、mオプションは複数行
* or + の後の?: 最小マッチ +?, *?
()RegExp s.match(/(.+?)@yamada) , RegExp.$1
例
<script> var s = '@yamada'; var rs = s.match(/(@[A-Za-z0-9_]{1,15})/); console.log(RegExp.$1); </script> <script> var s = '<title>google.com</title>'; var rs = s.match(/<title>([^<]+)<\/title>/); console.log(RegExp.$1); </script>
日付の取得
<script> var s = '2016-12-01'; var rs = s.match(/(\d{4})[-\/](\d{2})[-\/](\d{2})/); console.log(RegExp.$1+'年'+RegExp.$2+'月'+RegExp.$3+'日'); </script>