javascriptの正規表現で「半角数字一桁.」で行が始まるのをマッチしたいんですがうまくいかないので教えてください。


var regtags = new RegExp("^[0-9]\..+", "mg");

という表現でマッチさせてるんですが、
289
などと数字だけの行もマッチしてしまい、困っています。解決できる表現があればよろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:2010/01/11 12:54:59
  • 終了:2010/01/11 22:55:02

回答(4件)

id:edvakf No.1

edvakf回答回数27ベストアンサー獲得回数122010/01/11 13:23:10

ポイント40pt

JavaScript の文字リテラル内ではバックスラッシュがエスケープ記号の役割ですので、バックスラッシュ自信を表すときは2つ重ねないといけません。

javascript:alert(new RegExp("^[0-9]\\..+", "mg"))
// => /^[0-9]\..+/gm
javascript:alert(new RegExp("^[0-9]\..+", "mg"))
// => /^[0-9]..+/gm
id:lemolemo75

ありがとうございます!おかげで解決できました!

2010/01/11 22:52:24
id:tsukasa57 No.2

tsukasa57回答回数110ベストアンサー獲得回数202010/01/11 13:39:52

ポイント30pt

以下のコードで出来ると思います。

var regtags = new RegExp("^[0-9]\\.");
var str = "1.";
if (str.search(regtags) != -1)
  document.write("Match!!");
else
  document.write("Unmatch!!");

ちなみに、JavaScript の実行は http://www.3site.eu/jstests/jhp/ でコードを貼り付けて CTRL+ENTER で実行すれば簡単に確認できます。

id:lemolemo75

こっちでもできました。ありがとうございます。とても勉強になります。

2010/01/11 22:53:07
id:Cherenkov No.3

Cherenkov回答回数1502ベストアンサー獲得回数4922010/01/11 16:00:46

ポイント10pt

ちがったらごめんなさい。

var regtags = /^\d{1}\..+/;

id:km1967 No.4

km1967回答回数541ベストアンサー獲得回数402010/01/11 16:48:37

ポイント10pt

半角数字だけの行は、半角数字ではじまる行に含まれます。

ですから、ご質問の正規表現は正しいのです。

それがダメだというなら、もっと条件を細かく指定していただかないと

正しい回答はできません。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません