質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

4回答

921閲覧

jsの正規表現を使ったmatchがうまくいきません

mori-.-

総合スコア18

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/12/20 04:10

実現したいこと

jsを使用して、文字列から特定の単語を抜き出したいのですが
正規表現が間違っているのか、漢字がうまく認識されないのか、nullが返ってきてしまいます。
会議室をASCIIコードに変換してみたり、「会」だけを使用しようと思いましたがダメでした。
条件としては『「会議室」の前に数字が三文字あるもの』です。

正規表現に関しても十分に理解しきれていない点があるので、間違っている点があれば
お手数ですが教えていただけると嬉しいです。よろしくお願いいたします。

javascript

1var room_val = "201会議室を予約します。"; 2var result_room = room_val.match("/(\d{3})\会議室/"); 3alert(result_room); //結果:null

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

JavaScriptの正規表現は専用のリテラルがあります。文字列ではなく、そちらで書きましょう。

javascript

1var result_room = room_val.match(/(\d{3})会議室/);

投稿2018/12/20 04:15

maisumakun

総合スコア145123

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mori-.-

2018/12/20 04:20

ダブルクォーテーションは必要ないのですね、、、!勉強不足でした、、。 こちらのコードで正しく動作させることができました。ありがとうございます。
guest

0

まず、「会」の前のバックスラッシュがいらないです
デリミタに「/」を使う場合はダブルクォーテーションで囲む必要はありません

javascript

1var result_room = room_val.match(/(\d{3})会議室/);

またダブルクォーテーションで囲む場合はバックスラッシュ(円マーク)をエスケープして下さい

javascript

1var result_room = room_val.match("\d{3})会議室");

投稿2018/12/20 04:17

yambejp

総合スコア114585

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mori-.-

2018/12/20 04:22

ダブルクォーテーションがある場合とない場合と詳しく教えていただき、ありがとうございます。 バックスラッシュの認識も間違っていたようで、とても参考になりました!
guest

0

js

1"201会議室を予約します。".match(/\d{3}会議室/)

【RegExp | MDN】
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/RegExp#Description

投稿2018/12/20 04:16

kei344

総合スコア69366

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

こうかな。

js

1const room_val = "201会議室を予約します。" 2const result_room = room_val.match(/\d{3}会議室/) 3alert(result_room) //結果:201会議室

投稿2018/12/20 04:26

shou6

総合スコア305

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問