使用可能な文字が[a-zA-Z0-9]でかつ、
3回連続した文字は省きたい場合はどのように記述するのでしょうか。
よろしくお願い致します。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
「省きたい」とはどうしたいのでしょうか?
具体例があると良いと思います
追記
こんな感じでどうでしょう?
PHP
1$a=[ 2 "a1b2c3df4","a1b222c3","a1b2@?c2" 3 ]; 4/* 5$pattern="/\W|(.)(?=\\1{2})/"; 6\wには「_」が含まれるので以下に訂正します。 7*/ 8$pattern="/[^0-9a-zA-Z]|(.)(?=\\1{2})/"; 9foreach($a as $val){ 10 if(!preg_match($pattern,$val)){ 11 print $val.":ok<br>"; 12 }else{ 13 print $val.":ng<br>"; 14 } 15}
投稿2017/02/10 06:19
編集2017/02/10 06:48総合スコア114829
0
ベストアンサー
認識が間違ってたら申し訳ないのですが、例えば、
「aaa」「000」「NNN」というような文字列を削除したいということでしょうか。
でしたら恐らくこういった雰囲気で書くかと思います。
php
1$sample_string = 'lllloremmm ipppsum 001222344444'; 2preg_replace('/([a-zA-Z0-9])\1{2}/', '', $sample_string);
もし「loremloremlorem」「HogeHogeHoge」を消したい場合は以下でしょうか。
php
1$sample_string = 'loremloremloremHogeHogeHogehogHoghog' 2preg_replace('/([a-zA-Z0-9]+)\1{2}/', '', $sample_string);
お役に立てば幸いです。
参考ツール
RegExr
投稿2017/02/10 07:16
総合スコア2244
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
はじめまして。
正規表現 ([a-zA-Z0-9])\1{2,} を使って取り除けるかと思います。
例)
aaaabbbccdeeffggghhhhiiiiii だった場合
aaaa bbb ccdeeff ggghhhhiiiiii の黒文字部分がマッチしますので
マッチしたものを元の文字列から置き換えて抜いてしまえば省けるかとおもいます。
マッチする例
$string = 'aaaabbbccdeeffggghhhhiiiiii'; $pattern= '/([a-zA-Z0-9])\1{2,}/'; preg_match_all($pattern, $string , $match); print_r($match);
ご参考までに。
投稿2017/02/10 07:25
総合スコア250
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。