- ベストアンサー
文字列の検索
ある文字列の中から、たとえば@1234のように @の後に数字が4桁連続している文字列を探す構文を matchを使って記述したいのですが、 matchの引数をどのように指定すればいいのかわかりません。 [0-9]やd\と{4}をいろいろ組み合わせてはみたんですが、 どうしてもうまくいきません。 matchでなくても他に良い方法があればおしえてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
普通は単純に match(/@\d{4}/) などと記述すると思いますがこれでいかなかったのでしょうか? うまくいかなかったのであればどのようにうまくいきませんでしたか?
その他の回答 (1)
- NTJ
- ベストアンサー率44% (46/103)
回答No.2
ほんの補足です・・・ '@\d{4}' 文字列が@'+数字4桁の場合にマッチする。 /@\d{4}/ 文字列中のに@'+数字4桁を含む箇所にマッチする。 /@\d{4}/g 文字列中の'@'+数字4桁の箇所全てにマッチし、配列で返す。 /^@\d{4}/ 文字列が@'+数字4桁で始まる場合にマッチする。 /@\d{4}$/ 文字列が@'+数字4桁で終わる場合にマッチする。 /^@\d{4}$/ 文字列が@'+数字4桁の場合にマッチする。 こんな感じですかね。 正規表現の文字列の形式は、unix系のテキストファイル処理スクリプトから出た文化なので、ちょこっとC言語系とかWindows系の文化とは隔たりがありますね。 文字列ではなくて、コマンドだと思えばよいのかもしれませんが。。。
質問者
お礼
補足までつけて頂けるとは。 非常に参考になりました! '@\d{4}' と /^@\d{4}$/ は完全一致ってことで良いんですよね?
お礼
・・・解決してしまいました。 文字列を//で囲む事が必要だったんですね。 こんな初歩的な質問にご回答頂き、ありがとうございました! 助かりました!