[過去ログ] Regular Expression(正規表現) Part14 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
714(1): 2018/11/10(土)18:21 ID:EY2CMtcP(3/3) AAS
# 検索表現の途中にある \G をマッチさせる
my $str = 'abcde';
$str =~ /abc/g;
if ($str =~ /abc\Gd/){ print "true\n"; } else { print "false\n"; }
715: 2018/11/13(火)00:16 ID:QabZTjVa(1/3) AAS
# (?1) の直前に (?i) を置いても効かない
if ( "Aa" =~ m/(?i)(A)(?1)/ )
{ print "true <$1>\n"; } else { print "false\n"; }
# 結果:true <A>
if ( "Aa" =~ m/(A)(?i)(?1)/ )
{ print "true <$1>\n"; } else { print "false\n"; }
# 結果:false
716: 2018/11/13(火)05:19 ID:QabZTjVa(2/3) AAS
## (?{code}) を使って >>695 の置換
if ( "ybrybrb" =~ /
\A
(?|
(?<赤>r)(?{ "aka"; })
| (?<青>b)(?{ "ao"; })
| (?<黄>y)(?{ "ki"; })
)*
brybrb ## バックトラックに対応出来るか試す
\z
省4
717: 2018/11/13(火)21:32 ID:QabZTjVa(3/3) AAS
# 仲間外れを探せ
if ("\x{1990}" =~ /
\N{U+1990}
#\N{1990}
#\N{NEW TAI LUE LETTER HIGH NA}
/x){ print "match.\n"; } else { print "false.\n"; }
718: 2018/11/14(水)10:41 ID:Hh1ptiAj(1) AAS
717
719: 2018/11/14(水)14:37 ID:duOGmOFb(1) AAS
ワロタw
720: 2018/11/14(水)18:45 ID:I91AeKub(1) AAS
このクイズだか検証だかよくわからんの書き連ねてるのは何なの?
一人で無意味に書き連ねてるの?誰かとやりとりしてるの?
721: 2018/11/14(水)23:41 ID:cpUdYoRF(1) AAS
正規表現の勉強をしながら気付いたことをメモってるだけです
基本的には一人でやってます
仲間が欲しい...
722: 2018/11/14(水)23:44 ID:CNd6PM4x(1) AAS
ここはお前のチラシの裏なのか
ある程度まとまってんならともかくメモ書きなら他所でやれよ
723: 2018/11/15(木)00:11 ID:Ow4iH1sO(1) AAS
需要ないかな?無いならやめます
724: 2018/11/15(木)22:32 ID:IM0UsOCP(1) AAS
無いよ
725: 2018/11/16(金)17:20 ID:eADG8kUk(1) AAS
bregonig.dll の (?a)\w の処理速度が遅い
(?u)\w と同じ速さ
\s や \d や [a-zA-Z_] より4倍の遅い
改善の余地ありそうだね
726: 2018/11/17(土)03:22 ID:YADh6pBI(1) AAS
## (?(R1)yes|no) のサンプルコード
if ("abc23yz" =~ /
\A
( # $1
( # $2
a(?1)z
|
b(?2)y
|
c(?(R1)1|2)(?(R2)3|4)
省8
727: 2018/11/17(土)12:49 ID:Oiq/x6oK(1) AAS
いつまで続くの?
728(1): 2018/11/21(水)19:34 ID:CU3gUCH4(1) AAS
●Regular Expressionの使用環境
C#
●検索か置換か?
置換
●説明
先頭の全角スペースのみを置換したい
先頭の全角スペースは1文字の場合もある
●対象データ
ああああ あ あ あ あ あ
●希望する結果
省1
729(4): 2018/11/21(水)23:39 ID:UsYfXb0d(1/2) AAS
>>728
Regex.Replace(str, @"(?<=^\s*)\s", "空");
730(1): 2018/11/21(水)23:41 ID:UsYfXb0d(2/2) AAS
あ全角スペースか
\sを全角スペースに変えて
731(2): 2018/11/22(木)01:15 ID:YNRtrxPu(1) AAS
可変長の戻り読みは便利だけどコールバックで処理するのが普通じゃないかな
外部リンク:ideone.com
732(1): 729 2018/11/22(木)03:09 ID:YAZbwzDX(1) AAS
>>731
たしかにそっちの方が倍くらい速かった
ちなみに正規表現関係ないけど
var trimed = str.TrimStart(' ');
var replaced = new string('空', str.Length - trimed.Length) + trimed;
とか
var sb = new StringBuilder(str);
for(int i = 0; i < sb.Length; i++) if (sb[i] == ' ') sb[i] = '空'; else break;
とかにするとさらに10倍以上速かった
正規表現使わないでもいい時はなるべく使わないほうがええね
733: 2018/11/22(木)11:43 ID:sD3Vu3lJ(1) AAS
>>729-732
どうもありがとうございました
上下前次1-新書関写板覧索設栞歴
あと 269 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.021s