10
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【JavaScript】【解決】正規表現基礎 メモ

Last updated at Posted at 2013-12-12

こんにちは。

恩師に昔、正規表現を覚えるといいと言われました。
本日とうとうぶち当たったのでメモ。

\w 「任意の英数文字、またはアンダースコア 1 文字」にマッチ
\s 空白にマッチ
\d 数値 [0-9]にマッチ
またそれぞれ大文字は否定になる

ex) \d\d は2桁の数値

[]は[]内にある任意の1文字

繰り返し

{n,m} (n回からm回繰り返す)
{n,} (n回以上繰り返す)
{n} (n回だけ繰り返す)

メソッド

.test() マッチさせたいパターンが文字列中にあればtrue,なければfalse
.search() マッチした文字列の位置(数値)を返す 先頭は0(ない場合は -1)

量化

? 直前の表現が0個か1個あることを示す

  • 直前の表現が0個以上あることを示す
  • 直前の表現が1個以上あることを示す

行末の空白削除方法は+$でタブを含む場合は[/t]+$

置換メモ:

空白行を削除 ^\n 「行頭の」「改行」 ・・・先頭が空白だと空行と判断される
行頭に文字を追加 ^ 、置換したい文字

なのですが、最後の問題でつまづいています・・・。

var regexp = /^Study(\w\d){3,}$/;

var str =

var result = regexp.test(str);

このregexpの内容を、resultで表示されるように。
という問題なのですが、

/^ $/ は囲まれている中身を全て表示させる。
{3,} は3回以上繰り返す
\w は単語 
\d は任意の数字

しかしこの(/w/d) が理解できず・・・。
Study1Study1Study1も
StudyStudyStudy111も
StudyStudyStudyも
StudyStudyStudy1もだめ。
(がむしゃらに打ち込んでました)

ちょっとこれはネット探しても解決できず。

(\w\d)は\wと同意義というものは見つけましたが
結局は解答には至らずです。
お手上げ状態。

上記編集

「任意の英数文字またはアンダースコア1文字 + 数字1文字」なので計2文字にマッチ

正規表現はできるとかなりいいと聞くだけに悔しいです。
どなたかご教授していただけると幸いです。
+覚えておいたほうがいい正規表現 /~ とか 置換用とかもあれば是非お願いしたいです。

それではこれからも宜しくお願いいたします。

10
8
6

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?