アプリ版:「スタンプのみでお礼する」機能のリリースについて

1.下記のように「○○○にどんな数字が何個あっても検索対象になる」ような正規表現はどのように書いたらいいのでしょうか?

/item○○○/

/item[0-9]/ や /item[0-9][0-9]/ と書いているのですが、「数字が何個あっても」の部分がうまく書けませんでした。
「数字が何個あっても」を対象にするにはどのように書いたらいいのでしょうか。


2. また、下記のように置換したいのですが、数字は変更することなく、phpからhtmlに変更したいと思っています。

■置換する前の状態
item715.php

■置換した後の状態
item715.html

ただ、phpという文字は同じページにたくさんあるので

item(数字の羅列).php

というパターンの部分だけ置換対象にしたいのですが、その書き方が分かりませんでした。

数字の羅列を保持しつつ、その周りだけ変更できるような書き方はありますでしょうか?

どうかよろしくお願いいたします。

質問者からの補足コメント

  • すいません、私のミスでした。
    ちゃんと正規表現で置換できました。
    ありがとうございました。

    No.3の回答に寄せられた補足コメントです。 補足日時:2018/01/14 17:28

A 回答 (4件)

以下の正規表現だと、数字が0個以上の意味です。


/item[0-9]*/

以下の場合は、数字が1個以上の意味になります。
/item[0-9]+/
    • good
    • 0
この回答へのお礼

ありがとうございます。できました!

お礼日時:2018/01/10 00:30

置換前: /\b(item[0-9]+)\.php\b/


置換後: $1\.html
    • good
    • 0
この回答へのお礼

ありがとうございます。
EmEditorというソフトで正規表現の置換をしているのですが、
教えていただいた/\b(item[0-9]+)\.php\b/では検索対象になりませんでした。
EmEditorだからダメだったのでしょうか。

お礼日時:2018/01/10 00:32

> EmEditorというソフトで正規表現の置換をしているのですが、


正規表現の左右を / で囲むのはスクリプト言語における慣習ですので、テキストエディターならば / を外してください
また、EmEditor の取説によると後方参照は \ で指定するので、以下のように指定してください。

置換前: \b(item[0-9]+)\.php\b
置換後: \1\.html

意味
\b : 単語の区切り / 英単語の前後につけると、単語の一部だけマッチする誤動作を防げる
\1 : 置換前の括弧で囲った1番目の内容そのまま

参考
http://www.emeditor.org/ja/howto_search_search_r …
この回答への補足あり
    • good
    • 0
この回答へのお礼

ありがとうございました。
今回もなぜか検索対象になりませんでした。
私のやり方がまずいのか、、、

お礼日時:2018/01/10 23:06

割り込み失礼します。


#2,#3さんの正規表現パターンの、\b をぬいて書いてみたらどうでしょうか。

(item[0-9]+)\.php
テキストエディタでは、必ずしも、単語区切りの\b はヒットしないことがあります。
    • good
    • 0
この回答へのお礼

試して見たのですが、検索対象にはなりませんでした。
でもアドバイスありがとうございました。感謝です。

お礼日時:2018/01/14 17:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!