- ベストアンサー
正規表現の書き方について
$a=aaaaaaあああ1111いいい2222; 上記の$aを <br>aaaaa<br>aあああ<br>1111いいい<br>22222<br> このようにしたいのですが、 条件1:半角英数字の頭に<br> 条件2:半角英数字が5つ続いたら<br> としたいのですが、正規表現の記述方法で悩んでいます。 $b=preg_match([a-zA-Z0-9],$a)がに該当したら これで受け取ったものをpreg_replace<br>で挟む?のでしょうか。 そもそも条件は1つ以上指定できないのかもしれませんが・・・。 何かご存知の方いましたらご教授お願いいたします。
- wggtanp
- お礼率84% (11/13)
- PHP
- 回答数1
- ありがとう数2
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
最後の<br>の根拠が提示されてませんが・・・ <? $a="aaaaaaあああ1111いいい2222"; $pattern='/[0-9a-z]{5}|[0-9a-z]+/i'; echo htmlspecialchars(preg_replace($pattern,'<br>\0',$a)); ?>
関連するQ&A
- 正規表現
strutsのバリデータでmaskのみで 以下の条件を正規表現を使ってあらわしたいのですが 使用可能文字 半角英数字 @ - _ . 条件 @ _ - . 同一文字の連続使用は不可。 先頭と最期は半角英数字のみ。 全部の文字数は3文字以上30文字以内。 aaa@aaa OK aaa@_-a OK aaa@@_a NG a@@@a NG @マークの連続使用不可は↓でできたのですが、 ^[a-zA-Z0-9]([a-zA-Z0-9]+@?){1,30}[a-zA-Z0-9]$ _ . - の条件を加えるとうまくいきいません。。 よい方法がございましたらご教授ください!!
- ベストアンサー
- その他(プログラミング・開発)
- PHPでの正規表現
PHPでの正規表現に関する質問です。 function makeAk($value){ return preg_replace("/(?<![一-龠+ぁ-ん+ァ-ヴ+a-zA-Z0-9'\"#@=:;])@([一-龠+ぁ-ん+ァ-ヴ+a-zA-Z0-9_]{1,15})/u", "@<a href=\"mypage.php/\\1\">\\1</a>", $value); } 上記のコードでmypage.phpに\\1ではなく、パラメーター(?id=$post['id']のような)を振りたいのですが、 どうしたらうまくいきますでしょうか。 よろしくお願いします。
- 締切済み
- PHP
- 正規表現 英数字を1つ以上含む文字列
ASP.NET(VB)での入力チェックのために、 半角英数字「0~9」「a~z」「A~Z」と、ハイフン「-」からなる文字列 (ただし、半角英数字「0~9」「a~z」「A~Z」はそれぞれ少なくとも1個ずつ含む) の正規表現での表し方が知りたいです。 How To: ASP.NET への入力を制約するために正規表現を使用する方法 http://www.microsoft.com/japan/msdn/enterprise/pag/securityguidance/paght000001.aspx (?!^[0-9]*$)(?!^[a-zA-Z]*$)^([a-zA-Z0-9]{8,10})$ 8から10文字で、最低1文字の数字と1文字の英字を使用し、特殊文字を使用してはいけません。 上記を参考に、 (?!^[0-9]*$)(?!^[a-z]*$)(?!^[A-Z]*$)^([a-zA-Z0-9])$ こんな感じかなぁと試してみたのですが、ダメでした。 そもそも「!」の意味が分かりません。否定でしょうか??
- ベストアンサー
- Visual Basic
- 正規表現での置換方法
http://www.google.co.jp/aaaaa?a=1 上記のようなURLがあった時に、 <a href="http://www.google.co.jp/aaaaa?a=1" >http://www.google.co.jp/aaaaa?a=1</a> と置き換えたいのですが、正規表現とpreg_replaceで表現する場合どうしたら良いでしょうか? a=1 の後に </a>を付ける条件は半角スペースor改行を条件にしたいので (\s|\n)のようにすると思うのですが、どう表現したら良いでしょうか。 よろしくお願いします。
- ベストアンサー
- PHP
- メールアドレスの正規表現
メールアドレスの正規表現 正規表現の勉強をしています。下記のURLのメールアドレスの正規表現の一部が理解できません。 http://hodade.adam.ne.jp/seiki/page.php?s_mail ^[a-zA-Z0-9!$&*.=^`|~#%'+\/?_{}-]+@([a-zA-Z0-9_-]+\.)+[a-zA-Z]{2,4}$ この中の「[a-zA-Z]{2,4}$」の部分がわかりません。 行末が英文字2以上4以下というのは何を表しているのでしょうか? なぜ2以上4以下になるかが理解できません・・・ 宜しくお願いします!!
- ベストアンサー
- その他([技術者向] コンピューター)
- 正規表現 半角英数字が混じっている場合
正規表現について教えてください。 入力フォームより都道府県を入力した際に、 "東京都AAS421SBBss" や "AA1sss東京都" など、一部に半角英数字が含まれている場合、 どのような正規表現でマッチするのでしょうか? if(!preg_match("/[\xA1-\xFE][\xA1-\xFE]/",$address)) 感じで行ったのですが、最初に半角英数字だとマッチするのですが、 途中に半角英数字がある場合、マッチしなかったりと。 よろしくお願いいたします。
- 締切済み
- PHP
- 秀丸の正規表現
秀丸の正規表現 http://pc.dearie.jp/hidemaru/replace/14.html 上記URLでメールの正規表現について解説があります。 [A-Za-z0-9\-\.\_]+@[A-Za-z0-9\-\_]+\.[A-Za-z0-9\-\.\_]+ この正規表現でメールの検索をおこなっています。この正規表現は理解出来ます。 .*([a-z0-9\-\.\_]+@[a-z0-9\-\_]+\.[a-z0-9\-\.\_]+)([^a-z0-9@\.\-\_]+).* キャプチャを使って正規表現でメールアドレスをマッチしているのは理解できます。 なぜ置換で、「\1,」とやっても、メールアドレスのみを取得できないのでしょうか? 実際に秀丸エディタを使ってやってみましたが、メールアドレスのみ取得することができませんでした。 検索ではメールアドレスにマッチするのに、なんでキャプチャが正しく動かないのかがわかりません・・・
- ベストアンサー
- その他([技術者向] コンピューター)
- 正規表現
正規表現の使い方を教えて下さい。 下記のソースでは、oPerl5Util.matchメソッドから戻って来ません。 正規表現文字列が悪いのか それともメソッドの呼び方の手順などが悪いのか 指摘して下さい。 import org.apache.oro.text.perl.Perl5Util; public class clsTestMain { public clsTestMain() {} public static void main(String[] args) { clsTestMain clsTestMain1 = new clsTestMain(); Perl5Util oPerl5Util = new Perl5Util(); String sPattern = "/[0-9a-zA-Z_!#$%&'*+-/=?^`{|}~]+(.[0-9a-zA-Z_!#$%&'*+-/=?^`{|}~]+)*@[0-9a-zA-Z-]+(.[0-9a-zA-Z-]+)*/"; String sTaget = "1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890@.jp"; try { boolean bResult = oPerl5Util.match(sPattern,sTaget); // ここで処理が止まる System.out.println(bResult); // ここにも来ない } catch (Exception oException) { oException.printStackTrace(); // ここにも来ない } } }
- ベストアンサー
- Java
- 正規表現について
電話番号の正規表現について質問です。 $value = '000-111-2222'; これだけだと通りますが function tel( $value ) { return !preg_match( '/^\d{2,3}\-\d{3,4}\-\d{4}$/', $value ); } 市外局番がなくても通るようにしたくこのようにしましたがはじかれます^^; function tel( $value ) { return !preg_match( '/^\d{2,3}\-\d{3,4}\-\d{4}$ | ^\d{2,4}\-\d{3,4}$/', $value ); } いずれのケースにも当てはまらないのではじくようにしたいのですが、実現するにはどう書けばいいのでしょうか?
- ベストアンサー
- PHP
お礼
yambejpさん、お返事ありがとうございました。 なるほど、A-Zはa-zだけで認識されるんですね、知りませんでした・・・。 ありがとうございました、勉強になりました!