いつもお世話になっております。
ご教示お願い致します。

$TEXT =~ s/>>|>>/<button>>><button>/g;

テキストエリアに
「>>」or「>>」
が入力されたら、ボタンで表示する
まではできたのですが、

「>>」or「>>」これらの後ろに数字を(※例「123」)入力し入力すると


<button>>>123<button>
と入力されるようにしたいのですが、

この「123」というのが、その時に入力された数字としたいのです。

これのやり方がわかならいです。。。

どうかご教示お願い致します。

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

  • すみません。補足です。

    >>123

    の後にも、「テスト」
    と入力されても数字までしか、
    認識しないようにもです・・・

    >>123
    テスト

    とテキストエリアに入力で書き込むと

    <button>>>123<button>
    テスト

    です・・・

      補足日時:2017/05/15 12:45

A 回答 (2件)

s/(>>|>>)(\d*)/<button>&gt;&gt;$2</button&

gt;/g
    • good
    • 0

そのあとの数字をキャプチャすればいい.


http://perldoc.perl.org/perlre.html
    • good
    • 0

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aと関連する良く見られている質問

Q全角数字を半角数字に変えたいがtr/0...9/0...9/だけではうまくいかない。

HTMLから、全角数字を入力しても、半角数字に変換して、
計算処理をしたいのですが、うまくいきません。現在
$kazu =~ tr/0123456789-/0123456789-/;
としているのですが、
全角で 123 と入力すると、 030507 と返ってきます。
どうしたら良いか教えてください。
8進数→10進数 16進数→10進数の
変換を試みたのですが、違うみたいです。
よろしくお願いします。

Aベストアンサー

もし、Perlのバージョンが5.8ならば、スクリプトの先頭に
use encoding 'sjis';
を入れてみてください。
※スクリプトがeucの場合は、sjis を euc-jp に替えてください。

また、それより以前のバージョンならば jcode.pl を使い、
jcode::tr(\$kazu, '0123456789-', '0123456789-');
としてください。

参考URL:http://www.mikeneko.ne.jp/~lab/kcode/jcode.html#h2-10

Qperl >> DBI >> DBD >> oracle8でエラー

perlからDBI経由でoracleに接続したいのですが、
なぜか DBI->connectのところで失敗して下記のようなエラーが出ます。
`CONNECT ERROR ORA-1034: ORACLE not available
oas userでtelnetで入り、直接perl scriptを起動すると問題なく動作するの
ですが、なぜかOAS経由でブラウザーからCGIとしてcallすると
失敗するのです。
もう2日も悩んでます。
どなたか原因がわかりましたらご教授ください。

---- 環境 ---
perl 5.005_03
OAS 4.0.8.1
DBI 1.30
DBD-Oracle 1.12
OS solaris2.6
接続先DBは別のsolarisマシンに入ってる。

----------------ソース-----------------------------
#!/usr/local/bin/perl
use DBI;
$dsn = 'DBI:Oracle:orcl';
$user = 'testuser';
$password = 'testuserpass';
$dbh = DBI->connect($dsn, $user, $password) or die "接続できません";
my $sth = $dbh->prepare("select * from munec");
$sth->execute;
while(@row = $sth->fetchrow_array) {
print "@row\n";
}
---------------

perlからDBI経由でoracleに接続したいのですが、
なぜか DBI->connectのところで失敗して下記のようなエラーが出ます。
`CONNECT ERROR ORA-1034: ORACLE not available
oas userでtelnetで入り、直接perl scriptを起動すると問題なく動作するの
ですが、なぜかOAS経由でブラウザーからCGIとしてcallすると
失敗するのです。
もう2日も悩んでます。
どなたか原因がわかりましたらご教授ください。

---- 環境 ---
perl 5.005_03
OAS 4.0.8.1
DBI 1.30
DBD-Oracle 1.12
OS solaris2.6
...続きを読む

Aベストアンサー

OAS が oas ユーザで起動してようが、root ユーザで起動してようが
通常 CGI を起動するユーザは、nobody ユーザ辺りになっていると思います。
なので、CGI で環境変数に依存する処理を走らせる場合は、
CGI のなかで設定してやります。

この場合、perl ですので
$ENV{'ORACLE_SID'} = "ora8";
$ENV{'ORACLE_BASE'} = "/XXX/XXX/oracle";
などとして他の環境変数も設定してやる必要があります。

と、このあたりが原因ではないかと。

QCGI.pmで

CGI.pmで<button>タグを出力する方法を教えてください。
button()メソッドだと<input type="button">という別のタグが出力されてしまいます・・・

Aベストアンサー

CGI.pm のソースコードの中に <button が見当たらないので、
CGI.pm では <button> タグは作れないと思います。

Q正規表現 \b123bと^123$は同じ?

perlの正規表現の部分を勉強しているのですがわからないところがあります。
/\b123\b/と/^123$/は同じ意味ですか?
同じだとしたら、/^~$/という書き方があるのに/\b~\b/はどういう場面で効果的なのでしょうか?

Aベストアンサー

違う意味です。

"/\b123\b/" はワードで区切られた "123" にマッチします。
"/^123$/" は "123" のみの行にマッチします。
つまり、以下のようになります。

123    /\b123\b/,/^123$/ のいずれにもマッチ
ABC 123 abc  /\b123\b/ のみにマッチ

Qperlスクリプト

<html>~</html>の中に複数のperlスクリプトは書けるのでしょうか?
htmlファイル1つの中には、<html>~</html>は1つだと思うのですが、
phpだと<?php>~<?>とすれば、<html>~</html>の中に複数書けるみたいですが、perlでも書けるのでしょうか?

Aベストアンサー

通常書けません(書くのは別にかまいませんが期待通りにはならないでしょう)。
逆にPerlスクリプト中にHTMLをヒアドキュメントという形で記述することは一般的です。
PerlはWebが生まれる前からありましたが、PHPはWebの為に生まれました。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報