X



正規表現道場 Part2
0001nobodyさん
垢版 |
2012/09/19(水) 18:58:43.51ID:bdgNsY2f
【正規表現道場の掟】

・言語不問

・質問も大歓迎。使用言語を書くのを忘れずに。

正規表現と関係ない話・質問は他スレへどうぞ。

前スレ
正規表現道場
http://kohada.2ch.net/test/read.cgi/php/1168450843/
0159nobodyさん
垢版 |
2014/03/30(日) 04:24:51.20ID:???
--------c:\test.pl-----------
use locale; # これが無いと順番が変わらない
use POSIX qw(setlocale LC_ALL); # コメントアウトしても変化なし
setlocale(LC_ALL, "et_EE.ISO8859-1"); # コメントアウトしても変化なし

my $abc;
$abc = "STU";
$abc =~ s/[A-Z]/hit/g;
print $abc."\n";
--------c:\test.pl-----------

[結果] hithithit
順番が変わっていれば S にしかマッチしないはずだが3文字すべてに
マッチしている。

LC_ALL を LC_CTYPE や、 LANG などに変えたり、test.plを保存するときの
文字コードをutf-8からshift_jisに変えたりしても結果変わらず。

XPsp3+perl5.16.3の環境で S だけにマッチさせる手段は無いと思われる。
0160nobodyさん
垢版 |
2014/03/30(日) 05:25:46.81ID:???
>>156
「辞書順」はロケールに依存するが「文字コード順」は文字コードに依存する、んじゃね?
文字集合の範囲指定が文字コード順と定義されているなら、
いくらロケール切り替えても文字コード切り替えない限り無意味だろう。

で、文字集合の範囲指定ってどっちだと定義されてるの?
0161nobodyさん
垢版 |
2014/03/30(日) 14:02:22.42ID:???
>>160
俺はロケールや文字コードの知識はほとんど無いんでよく分かってない。
↓は winXPsp3 + perl5.16.3 + ロケール = 「日本」 の環境での実験結果。

・ [ァ-ィ] が ア にマッチするか実験。( 文字コード順ならマッチしないはず )

----------------------------------------
use locale;

if ( "ア" =~/[ァ-ィ]/ ){ print "hit\n"; }
else { print "no hit\n"; };
----------------------------------------
結果: hit ( マッチしたので文字コード順ではない )

この環境での範囲指定は↓の順みたい。これはshift_jisの並び順とは違う。(これが辞書順?)
----------------------------------------
_0123456789aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZァアィ
スセソタチッツテトナニヌネノハヒフヘホマミムメモャヤュユョヨラリルレロワヲン
----------------------------------------

文字コードでなくロケールに依存するという発想は思い付かなかったわ、そっちの線で
また実験しながら遊んでみるよ、辞書順とやらも調べてみる。ヒントありがとう。
0162nobodyさん
垢版 |
2014/03/31(月) 00:44:57.15ID:???
(>>156)
ついに [a-z] が t 以降にマッチしない動作の再現に成功!
et_EE.ISO8859-1 の代わりに et_EE.ISO8859-15 を使ったら再現出来ました!

今まで助言をくれたみなさんありがとう〜。自分一人じゃ絶対無理だった。

↓こちらの方々にも感謝〜

初心者もOK! FreeBSD質問スレッド その117
http://toro.2ch.net/test/read.cgi/unix/1380865524/938-954n

詳しい手順はもう少し調べて整理してから載せます。
0164nobodyさん
垢版 |
2014/04/12(土) 17:21:41.17ID:???
2ch .scに移転しました。

正規表現道場 Part2
http://nozomi.2ch .sc/test/read.cgi/php/1348048723/l50

■ 2ch.netの問題点

・ 2chscがNGワードになってるので正規表現をスレに貼るのに支障が出る。何より言論統制はイクナイ。
・ 管理人が今後どう動くか予測が付かない。
 自暴自棄になりIPや書き込み履歴を大公開して逃走する可能性すらある。会社IPの人は注意。
0165nobodyさん
垢版 |
2014/04/12(土) 20:53:07.28ID:kZRku0LV
もうこっちに帰ってくるなよ
0166nobodyさん
垢版 |
2014/04/15(火) 11:21:18.41ID:qQPWwAKL
使用しているのはYahoo! Pipesのregexです
http://d.hatena.ne.jp/dacs/20080422/1208868051

○○/△△
[□□

という文字列から△△だけを抜き出したくて、色々試してみているのですがどうもうまくいきません

".*/" -> replace -> ""
"\
.+" -> replace -> ""

だと思うのですが、何か間違いがあるのでしょうか?
ちなみに

"[.+" -> replace -> ""

も試してみましたがダメでした
0167nobodyさん
垢版 |
2014/04/15(火) 20:38:11.07ID:CfZz5H/X
Yahoo! Pipesの仕様なんて知らんが
文字列の開始も終わりも指定してないということは
.*/で一番最後の/までが対象として消える可能性はある
0168nobodyさん
垢版 |
2014/04/16(水) 10:42:38.10ID:???
>>167
ありがとうございます、確かめてみます
0169nobodyさん
垢版 |
2014/05/08(木) 02:37:21.25ID:???
ファイル検索ツールでパスを入力する時、「\」「/」を入れると候補が0になってしまいます
d:\\abc\\123\\ のように入力しているのですが、間違っていますか?
0170nobodyさん
垢版 |
2014/05/08(木) 03:20:39.96ID:Zyar7s4i
そのファイル検索ツールのところで聞けばー
0171nobodyさん
垢版 |
2014/05/22(木) 01:25:49.65ID:???
sc連投規制中なう。
0172nobodyさん
垢版 |
2014/05/22(木) 14:43:31.27ID:???
(sc>>212)
>qr/\"((?:\\[\\\"]|.)*?)\"/
> これはよっぽど自信がないと書けない書き方だ。

今考えると弾たんは単に2文字否定の作り方を知らなかっただけだな・・。
知ってたらこんなあやふやなものを作ろうなんて思わないし。

早さに拘るのに早い正規表現の作り方を知らないというちょっと残念な弾たん。
他の正規表現を見ても正規表現自体のスキルは高くない。
なんでもこなすオールラウンダーだから薄く広くになるんだろうな。

しかしこの程度の正規表現スキルでcpanのモジュール作って大丈夫なんだろうか。
探せばバグが出てきそうな予感。
0173nobodyさん
垢版 |
2014/05/22(木) 15:18:43.78ID:???
正規表現のスキル自体とモジュール作成能力には直接的な相関関係はないからなあ・・・
0175nobodyさん
垢版 |
2014/05/22(木) 16:49:22.13ID:???
そういう指摘するだけでモノ作ったり貢献してなさそうなお前はもっと駄目な人間だから安心しろ。
弾はなんだかんだ色々作ってるし色々な方面に貢献してる。
0176nobodyさん
垢版 |
2014/05/22(木) 18:11:53.77ID:???
指摘することも立派な貢献だと思いますよ。現に指摘によって処理時間が半分以下になってますし。
0177nobodyさん
垢版 |
2014/05/23(金) 17:54:18.09ID:???
まだ連投規制が解除されないなう

## m//

キャッシュを保持してない状態では空文字列にマッチする。
うっかりするとバグの原因になり得る。
0178nobodyさん
垢版 |
2014/05/23(金) 19:00:28.59ID:???
.scの連投規制は俺も食らったけど(専ブラだと「書き込めたかも…」で書けてない状態)、
Webブラウザで投稿したらBOT疑惑なのでCapchaしろになってそれで解除できた。

URLを貼りまくって連投規制になった場合は知らん。
0179nobodyさん
垢版 |
2014/05/23(金) 19:22:48.54ID:???
>>178
俺の場合は「連続投稿は禁止されています。Error!」って出るだけ。
普通に連続投稿が原因で規制食らってるみたいだからもうダメかも分からんね。

人が少ないから自然に独り言みたいになるのにそれで規制されたら
ますます人少なくなるなw
0180nobodyさん
垢版 |
2014/05/23(金) 20:03:59.73ID:Hym2JLxi
たらこテョンねるの話はたらこテョンねるでやれ
0182nobodyさん
垢版 |
2014/05/24(土) 02:35:30.04ID:???
>>2 正規表現メモ

(?num) の説明文にある・・

-------------------
(\()?[^()]+(?(1)\))
-------------------

これは (?num) とはまったく関係ない正規表現。ただの条件文。
0183nobodyさん
垢版 |
2014/05/24(土) 15:06:27.80ID:???
>>182
----------------------------
(?(R)...) PCREで、再帰的パターンの開始を示します。
<(?:(?(R)\\d++|[^<>]*+)|(?R))*>
----------------------------

説明文は間違い。これは条件式の条件。\\d は \d の間違い。

perldoc.jp
http://perldoc.jp/docs/perl/5.14.1/perlre.pod

(?(condition)yes-pattern|no-pattern) の項目を参照。
0185nobodyさん
垢版 |
2014/05/27(火) 03:16:35.15ID:???
文字参照の処理、間違えてますよ > 2ch.net
0186nobodyさん
垢版 |
2014/05/27(火) 03:43:16.09ID:???
ttp://cpansearch.perl.org/src/DANKOGAI/Unicode-Char-0.02/lib/Unicode/Char.pm

↓ ^ か \A 忘れてね?

------------------------
$method =~ s/.*:://o;
------------------------
0187nobodyさん
垢版 |
2014/05/27(火) 03:49:35.83ID:???
----------------------------------------------------------
my ($hex, $name) = ($line =~ /^([0-9A-Fa-f]+)\s+(.*)/);
next if $name =~ /[a-z]/; # range, not character
----------------------------------------------------------

2行目だけ小文字に限定されてる。これで良いのか悪いのかは分からないが。
0188nobodyさん
垢版 |
2014/05/27(火) 14:20:55.14ID:???
ttp://cpansearch.perl.org/src/DANKOGAI/Lingua-JA-Numbers-0.04/lib/Lingua/JA/Numbers.pm
-----
せっかく [eE] と書いてるのに /i
= ($num =~ /([+-])?(\d+)(?:\.(\d+))?(?:[eE]([+-]?\d+))?/io);
-----
ちゃんと動くんだろうけどアンカー付けないのが気持ち悪い。
$int =~ s/(.*)(.{48})\z/$2/o;
-----
これミスでね? [k|g]
if ($style =~ /(?:romaji|[k|g]ana)$/){
0189nobodyさん
垢版 |
2014/05/27(火) 14:23:03.78ID:???
本人に直接言う勇気がないらしい。まこと残念な人である
皆はこうならぬように
0191nobodyさん
垢版 |
2014/05/27(火) 14:50:18.14ID:???
あれ、/o が使われてる。なんでapache logのltsv変換には
使われてなかったんだろう。ああいう時こそ効果的なのに。
0192nobodyさん
垢版 |
2014/05/27(火) 15:43:22.68ID:???
■ combined2ltsv.pl の re で /o の有無をタイム計測

/o なし
12724/s

/o あり
31689/s

/o あり は2.5倍早い。これは報告したほうがいいかも。
0194nobodyさん
垢版 |
2014/05/29(木) 03:21:04.45ID:???
(>>188)
---------------
use utf8;
---------------
\d
---------------

弾たんにならこれで通じるだろう。(確信)
0195nobodyさん
垢版 |
2014/05/29(木) 16:45:47.77ID:???
神戸大:オートマトン
ttp://kurt.scitec.kobe-u.ac.jp/~kikyo/lec/07/automaton/k5.pdf

行列の次は集合か・・もう忘れたよ・・覚えたことないけど。
0197nobodyさん
垢版 |
2014/05/30(金) 01:52:56.08ID:???
↑ /hs/ = ハイスクールでした。
0198nobodyさん
垢版 |
2014/05/30(金) 06:37:19.19ID:???
Q、 perlの正規表現では \A\z == ε である。では、 ??? == φ の ??? は何になるか。
0199nobodyさん
垢版 |
2014/05/30(金) 19:16:27.41ID:???
if( () =~ "" ){ print "hit\n"; } else { print "no\n"; };
結果 hit

答え、なし
0200nobodyさん
垢版 |
2014/05/30(金) 21:43:37.74ID:???
() と "" を比較して no を返す方法はあるか。( φとεの比較 )

() eq ""
() == ""

"" eq undef
"" == undef

() eq undef
() == undef

すべてtrueが返る。
0201nobodyさん
垢版 |
2014/05/30(金) 22:31:10.55ID:???
弾たん : perl - にも真偽値は存在する
http://blog.livedoor.jp/dankogai/archives/51268304.html

ちなみにブログのトップではGoogle Chromecastをボロクソに叩きつつ、Chromecastへのamazonアフィを
張るというすご技を展開されております。

こういう人相手に>>193を報告しにいってもスルーされるだけだと思うよ。カネにならないからね。
0203nobodyさん
垢版 |
2014/06/01(日) 10:07:29.84ID:???
>>201
それ、お前向けにカスタマイズされてるだけだろ。
0204nobodyさん
垢版 |
2014/06/01(日) 10:29:53.68ID:???
こういう陰口叩くやつよりマシ
0207nobodyさん
垢版 |
2014/06/06(金) 06:39:17.80ID:qyn3RpL3
test
0208nobodyさん
垢版 |
2014/06/09(月) 20:39:55.26ID:Xlk9Lxk9
javascriptでhtmlタグ内以外での検索をしようとしていますが、上手く行きません。お助け下さい。

lat = 'あい';
body = '<a href="あい">あい</a>';
reg = new RegExp(">[^<][\s\S]*?" + lat + "[\s\S]*?<","m");
body.match(reg);
console.log(reg.index);

13が返って欲しいのですが、undifinedになります。
0210nobodyさん
垢版 |
2014/06/10(火) 18:29:25.24ID:pkqjoeBF
>>209
ご誘導ありがとうございます!
0214nobodyさん
垢版 |
2014/06/25(水) 16:17:08.28ID:???
このスレって誰かの日記帳スレだったの?
0215nobodyさん
垢版 |
2014/06/25(水) 16:21:27.13ID:???
俺のメモ帳だけど?
0218nobodyさん
垢版 |
2014/06/27(金) 22:19:38.37ID:???
## 確率の実験

my $cnt=0;

for (my $i=0; $i<1000000; $i++){

if ( int(rand(3)) == 0 || int(rand(3)) == 2 || int(rand(3)) == 1)
{
$cnt++;
}# if

} #for
print "$cnt\n";

__END__

&& ・・・ A∧B
|| ・・・ A∨B
0219nobodyさん
垢版 |
2014/06/29(日) 14:17:12.43ID:???
傘スレの無能っぷりが酷い。正規表現作ってやりゃ済む話じゃないか。
0220nobodyさん
垢版 |
2014/07/07(月) 04:54:48.68ID:???
\Gを知らないのか使えないのか知らんけど・・
テキストエディタの正規表現には関わりたくないや。
0221nobodyさん
垢版 |
2014/07/07(月) 06:08:47.66ID:???
>>220
知らなかったの方だけど、こそこそ指摘するとか鬱陶しい奴だな…
0222nobodyさん
垢版 |
2014/07/07(月) 07:13:43.90ID:???
\G(?:@command|,)

タダでスキルアップさせてやったんだから文句言うなっしー。
0224nobodyさん
垢版 |
2014/07/28(月) 11:12:01.30ID:tZb2oMPI
★2ch勢いランキングサイトリスト★

◎ +ニュース
・ 2NN
・ 2chTimes
◎ +ニュース新着
・ 2NN新着
・ Headline BBY
◎ +ニュース他
・ Desktop2ch
・ 記者別一覧
◎ 全板
・ 全板縦断勢いランキング
・ スレッドランキング総合ランキング
◎ 実況込み
・ 2勢
・ READ2CH
・ i-ikioi

※ 要サイト名検索
0225nobodyさん
垢版 |
2014/09/28(日) 01:14:49.25ID:???
> ※ ヤフーのHTMLには javascript が使われており、正規表現がコードの一部に誤爆します。
・・・ならテストデータ変えろよと。
0226nobodyさん
垢版 |
2014/10/11(土) 01:16:14.20ID:???
テストし直すのが面倒でねぇ・・。
0228nobodyさん
垢版 |
2014/11/29(土) 17:23:33.57ID:???
preg_replaceで文章内に<br /><br />が出現した以降の文字をすべて削除するのはどうすればいいですか?
0235nobodyさん
垢版 |
2014/12/19(金) 13:42:01.95ID:fItp7j1V
もとかりやゆいか
0236nobodyさん
垢版 |
2014/12/23(火) 07:55:27.87ID:vHmDJqQI
正規表現で電話番号を確認するにはどうしたらいいですか?

固定番号
携帯番号
フリーダイヤル
国際番号

といったものがあるのでわかりません。(緊急ダイヤル系は無視して構いません)
どなたか正規表現を教えてください
0237nobodyさん
垢版 |
2014/12/23(火) 10:39:05.73ID:???
電話番号とは何かって質問はスレ違い。
自分の定義する電話番号はこうですって(正規表現以外の方法で)提示してください。
0238nobodyさん
垢版 |
2014/12/23(火) 12:20:49.97ID:???
>>237
そういう質問はされてないけどな
0239nobodyさん
垢版 |
2014/12/23(火) 13:12:39.81ID:???
緊急ダイヤル系は無視して構いませんって、つまりそれが何だか含めた電話番号とは何ぞやを
考慮して回答しろって書いてあるじゃねーか。
しるかそんなモン。
0241nobodyさん
垢版 |
2014/12/23(火) 13:54:19.46ID:vHmDJqQI
>>240
ありがとうございます!
参考にしてみます
0242nobodyさん
垢版 |
2015/02/03(火) 02:15:25.40ID:???
データから例をあげないと書きようがないよね
ハイフンあったりなかったり、それら含めて全部なのか・・・
0243nobodyさん
垢版 |
2015/02/09(月) 08:34:16.86ID:???
1.文字列の末尾にある数字を1〜2桁まで抽出したい(末尾に1文字までなら数字以外が入っても構わない)

2.抽出した数字が1桁の場合は先頭に「0」を足して二桁に変えたい

これを正規表現1行で行いたいのですが
 検索:.*?(\d{1,2})(\D{0,1})$
 置換:\1
これで1つ目はいけたんですが、さらに2つ目の内容を正規表現1行で行うことは可能でしょうか?
0245nobodyさん
垢版 |
2015/02/20(金) 20:10:32.19ID:kYODqEh/
アフィ注意
0246nobodyさん
垢版 |
2015/02/22(日) 12:03:22.28ID:???
間違いあるしまとめすぎてて意味不明だしゴミだ。
0247nobodyさん
垢版 |
2015/02/22(日) 14:01:19.31ID:q7pjx80v
>>244
しっかり纏められて助かります^^b ありがとう!
0248nobodyさん
垢版 |
2015/02/23(月) 08:57:45.46ID:???
ゴミの分際で広告主張しすぎなんだよ
0249nobodyさん
垢版 |
2015/02/23(月) 11:36:18.61ID:b/xiRyE3
>>244
ありがとう!!!分かりやすい!!
0250nobodyさん
垢版 |
2015/02/26(木) 16:01:00.90ID:???
> \G 直前の一致文字列の末尾

こう覚えちゃう人多いんだよねぇ。こういうサイトが嘘広めてるんだろうな。
0251nobodyさん
垢版 |
2015/03/01(日) 14:12:05.46ID:X4Lz0t7X
お前はいったい何なんだ?
必死に勉強したわけでもなく、必死に働いたわけでもなく
何も築かず、耐えず、乗り越えず、ただダラダラ過ごし
自分の都合の良い妄想だけを垂れ流す。

お前は今のゴミみたいな人生を、今は仮、本当の自分を使っていないだけ
そう飽きず言い続け、結局はそのまま死ぬ

最底辺キモヲタで底辺人生の今が本物であることに、そろそろ気が付こうぜ!
0252nobodyさん
垢版 |
2015/06/05(金) 01:32:33.59ID:tqx/3RmH
改行や余計な文字が入ってる場合のNGはどう書けば良いでしょうか?
例です

V
i からきますた!


この[V∨vv]→[IIii]→[PPpp]→NGを完成させたいです
0253nobodyさん
垢版 |
2015/06/05(金) 08:25:50.18ID:???
[V∨vv][^IIii]*[IIii][^PPpp]*[PPpp]

尚、テストはしてない
0254nobodyさん
垢版 |
2015/06/06(土) 08:05:00.05ID:O2gCKwON
>>253
出来ました!
ありがとうございます!
何故出来たかよく分かんないので研究します!
0255nobodyさん
垢版 |
2015/10/30(金) 17:13:18.79ID:???
青空にある文章で章ごとに一、二・・・百八十三と数字
がついているのですが、それを一括して置換するにはどうすれば
いいでしょうか?漢数字の間には改行がついています。
0256nobodyさん
垢版 |
2015/11/19(木) 21:03:58.90ID:XTDkfpTP
質問よろしいでしょうか?
一文字のみのレスを正規表現で指定するにはどうすればよいでしょうか
0258nobodyさん
垢版 |
2015/11/20(金) 00:28:25.04ID:Hxd/FqIh
マ イ ン ド コ ン ト ロ ー ル の手法

・沢山の人が、偏った意見を一貫して支持する
 偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法

・不利な質問をさせなくしたり、不利な質問には答えない、スルーする
 誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法

偏った思想や考え方に染まっていたり、常識が通じない人間は、頭が悪いフリをしているカルト工作員の可能性が高い

靖 国 参 拝、皇 族、国 旗 国 歌、神 社 神 道を嫌う カ ル ト

10人に一人は カ ル ト か 外 国 人

「ガ ス ラ イ テ ィ ン グ」 で 検 索 を !,,,,
0259nobodyさん
垢版 |
2016/01/16(土) 11:21:13.24ID:???
「ちな」をNGにしたいけど、「ありがちな」や「ちなみに」はNG対象外としたい
ちな(!?み)
これで「ちなみに」は対象外にできたんだが、「ありがちな」も同時に対象外にするにはどうしたらいい?
レスを投稿する


ニューススポーツなんでも実況