Regular Expressionスレです。
質問する場合は必ず実装言語や処理系ソフトウェア名を示してください。
前スレ
Regular Expression(正規表現) Part15
https://mevius.5ch.net/test/read.cgi/tech/1568640311/
次スレは>>980宜しく
天ぷら等>>2以降
Regular Expression(正規表現) Part16
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2021/11/03(水) 19:50:01.71ID:ebAE+z9+730デフォルトの名無しさん
2023/06/22(木) 10:55:55.92ID:nJDgsm3N こちらはそちらが何を使ってるかも分からないので勧めようが無い件
問題は正規表現の後ろに付けるほうなんだけど何を使ってるかで変わると思う
今のままでは12文字以上記号が続いててもNGになっちゃうね
問題は正規表現の後ろに付けるほうなんだけど何を使ってるかで変わると思う
今のままでは12文字以上記号が続いててもNGになっちゃうね
731デフォルトの名無しさん
2023/06/22(木) 13:11:08.52ID:L6AKAbfA >>730
chmateなんです
その後、2文字だけのにも対応するためこうなりました。言われた通り後ろ側も条件付けました
^[!-/:-@\[-`{-~]{2,11}$
ここがひどいです
https://greta.5ch.net/test/read.cgi/poverty/1687400738/
chmateなんです
その後、2文字だけのにも対応するためこうなりました。言われた通り後ろ側も条件付けました
^[!-/:-@\[-`{-~]{2,11}$
ここがひどいです
https://greta.5ch.net/test/read.cgi/poverty/1687400738/
732デフォルトの名無しさん
2023/06/22(木) 14:46:12.28ID:vRMLRvgd 方言がひどい記述だけど(PCRE2とbregonig.dllでは大丈夫)
^ ?(((?!>?|<?)[[:punct:]])+|>?|<?){2,} ?$
^ ?(((?!>?|<?)[[:punct:]])+|>?|<?){2,} ?$
733デフォルトの名無しさん
2023/06/22(木) 14:53:40.61ID:vRMLRvgd734デフォルトの名無しさん
2023/06/22(木) 23:53:09.33ID:nJDgsm3N GJ
[[:punct:]] これいいね、覚えとこ
(()+){2,}は繰り返しが二重になっててReDosを狙われる懸念があるから
++や(?>)を使ったほうがいいかも
正規表現エンジンの内部でも対策はしてると思うけど念のために
[[:punct:]] これいいね、覚えとこ
(()+){2,}は繰り返しが二重になっててReDosを狙われる懸念があるから
++や(?>)を使ったほうがいいかも
正規表現エンジンの内部でも対策はしてると思うけど念のために
735デフォルトの名無しさん
2023/06/23(金) 01:33:06.45ID:gmkpJif8 >>734
+が入ってるのはダメじゃん
除いてくれ
作ってる途中で紛れ込んだものだね
なおbregonig.dllだと
^ ?(?:\p{punct}|>?|<?){4,} ?$
^ ?(?:[[:punct:]]|>?|<?){4,} ?$
でもいけちゃうんだよな
ちょっと不思議
+が入ってるのはダメじゃん
除いてくれ
作ってる途中で紛れ込んだものだね
なおbregonig.dllだと
^ ?(?:\p{punct}|>?|<?){4,} ?$
^ ?(?:[[:punct:]]|>?|<?){4,} ?$
でもいけちゃうんだよな
ちょっと不思議
736デフォルトの名無しさん
2023/06/23(金) 02:02:21.28ID:qwakAXsj and検索みたいなのってできない?
今まで[ABC]と[あいう]は2回に分けて検索してたけど1回で済ませたい
今まで[ABC]と[あいう]は2回に分けて検索してたけど1回で済ませたい
737デフォルトの名無しさん
2023/06/23(金) 02:09:08.88ID:gmkpJif8 >>736
^(?=.*?ABC)(?=.*?あいう)(?=.*?甲乙丙)
^(?=.*?ABC)(?=.*?あいう)(?=.*?甲乙丙)
738デフォルトの名無しさん
2023/06/23(金) 02:35:28.92ID:qwakAXsj >>737
感謝
感謝
739デフォルトの名無しさん
2023/06/23(金) 12:02:08.17ID:2Ntzjt3B [文章]
AAAaiueo111 xxx
aaaaa
AAAkakikukeko xxx
b b b
AAAsasisuseso
ccccc
AAAtatituteto000
ddd123
上記の文章で先頭がAAAの行だけ抜き出して、さらにAAAを削除して末尾にxxxがある場合はxxxも削除する正規表現を考えています。
使用するのはサクラエディタの置換機能で、
置換前 AAA(.*)\r |.*\r\n
置換後 $1
で実行するとAAAの行だけ抜き出してAAAも削除出来ましたがxxxが残ります。2回に分けて置換すればいいのですが、面倒なので1回でxxxまで削除する方法があれば教えてください。
AAAaiueo111 xxx
aaaaa
AAAkakikukeko xxx
b b b
AAAsasisuseso
ccccc
AAAtatituteto000
ddd123
上記の文章で先頭がAAAの行だけ抜き出して、さらにAAAを削除して末尾にxxxがある場合はxxxも削除する正規表現を考えています。
使用するのはサクラエディタの置換機能で、
置換前 AAA(.*)\r |.*\r\n
置換後 $1
で実行するとAAAの行だけ抜き出してAAAも削除出来ましたがxxxが残ります。2回に分けて置換すればいいのですが、面倒なので1回でxxxまで削除する方法があれば教えてください。
740デフォルトの名無しさん
2023/06/23(金) 13:06:42.48ID:gnUd2/2c AAAで始まらない1行|先頭のAAA|末尾のxxx
741デフォルトの名無しさん
2023/06/23(金) 13:54:57.82ID:WBrlaKRC ^AAA|xxx$|^.*\r\n → 削除
742デフォルトの名無しさん
2023/06/23(金) 15:20:23.65ID:2Ntzjt3B743デフォルトの名無しさん
2023/06/23(金) 19:05:48.89ID:zWmLGOhD ^AAA([^\r\n]*?)(?:xxx)?$|^[^\r\n]*(?:\r\n|[\r\n])?
$1
アク菌で書けませんぞテスト
$1
アク菌で書けませんぞテスト
744734
2023/06/23(金) 19:21:25.94ID:zWmLGOhD >>735
PCRE2では\p{Punct}は存在しないんだね
www.pcre.org/current/doc/html/pcre2syntax.html
[\p{P}\p{S}]で代用になりそう、全角文字にもマッチするけど
プロパティがこれだけいろいろあると全部を把握するだけでも大変だなぁ
> +
言われてみれば+があるのはおかしいw 忘れ物だったのかw
PCRE2では\p{Punct}は存在しないんだね
www.pcre.org/current/doc/html/pcre2syntax.html
[\p{P}\p{S}]で代用になりそう、全角文字にもマッチするけど
プロパティがこれだけいろいろあると全部を把握するだけでも大変だなぁ
> +
言われてみれば+があるのはおかしいw 忘れ物だったのかw
745デフォルトの名無しさん
2023/06/23(金) 21:34:05.58ID:gmkpJif8 >>744
不思議な点は
PCRE2だと、[[:punct:]]で&が先にキャッチされて>のgt;が取り残されてしまうので
|>とあってもマッチしなくなる
bregonig.dllだと
>にキャッチされてマッチする(punctより>が優先される
(PCRE2は最短マッチが優先されて、bregonigは最長マッチが優先なのか?)
これはorの記述の順序には関係なく左に(先に)>を書いても結果は同じ
不思議な点は
PCRE2だと、[[:punct:]]で&が先にキャッチされて>のgt;が取り残されてしまうので
|>とあってもマッチしなくなる
bregonig.dllだと
>にキャッチされてマッチする(punctより>が優先される
(PCRE2は最短マッチが優先されて、bregonigは最長マッチが優先なのか?)
これはorの記述の順序には関係なく左に(先に)>を書いても結果は同じ
746デフォルトの名無しさん
2023/06/23(金) 22:07:00.56ID:zWmLGOhD ここのテストサイトで regex101.com/
^([[:punct:]]|>|<)$ を < にマッチさせたら成功したけど
本物のPCRE2ではマッチしないの?余計な半角スペースが入ってたりしない?
それで>>732に要らないはずの先読みを入れてたんだね
これがマッチしないならバグかも知れない
もしまたゴミとかのうっかりミスが原因だったとしても気にしないでね、俺もよくやらかすから
^([[:punct:]]|>|<)$ を < にマッチさせたら成功したけど
本物のPCRE2ではマッチしないの?余計な半角スペースが入ってたりしない?
それで>>732に要らないはずの先読みを入れてたんだね
これがマッチしないならバグかも知れない
もしまたゴミとかのうっかりミスが原因だったとしても気にしないでね、俺もよくやらかすから
747デフォルトの名無しさん
2023/06/23(金) 22:09:21.21ID:zWmLGOhD あ、&が化けちゃった
^([[:punct:]]|>|<)$ を > にマッチさせて
^([[:punct:]]|>|<)$ を > にマッチさせて
748デフォルトの名無しさん
2023/06/23(金) 22:31:35.63ID:gmkpJif8749デフォルトの名無しさん
2023/06/23(金) 22:36:28.09ID:gmkpJif8 今考え付くのは
^(?>[[:punct:]]|&gt;)+
とか
&gt;のみ書いといて&lt;に引っ掛かったとかとかかなあ?
^(?>[[:punct:]]|&gt;)+
とか
&gt;のみ書いといて&lt;に引っ掛かったとかとかかなあ?
750デフォルトの名無しさん
2023/06/23(金) 22:47:37.55ID:gmkpJif8 さすがに(?>)を使って気づかないわけないから(使った覚えもないし)
恥ずかしいけど、gt;とlt;の取り違えをやらかした気がする
恥ずかしいけど、gt;とlt;の取り違えをやらかした気がする
751デフォルトの名無しさん
2023/06/23(金) 23:16:11.04ID:zWmLGOhD そういうこと俺もあるから分かるわーw
頭が回ってないときに動作確認するとしっかり確認出来てないのに確認したつもりに
なってしまうんだよなぁ、だから休憩と二重三重の確認はめちゃ大事
間違えた原因は分からないけどとりあえずゆっくり休んでくれw
頭が回ってないときに動作確認するとしっかり確認出来てないのに確認したつもりに
なってしまうんだよなぁ、だから休憩と二重三重の確認はめちゃ大事
間違えた原因は分からないけどとりあえずゆっくり休んでくれw
752デフォルトの名無しさん
2023/06/24(土) 00:27:07.24ID:X4q59utv 勘違いした理由が分かった
^([[:punct:]]|&gt;)+
これをやると&で切れちゃうんだ
s/([[:punct:]]|&gt;)+//g
をやるとgtが置換されずに残る
末尾に$とか目標物を付ければ切れないんだが
さてどうして切れるのか誰か教えて
^([[:punct:]]|&gt;)+
これをやると&で切れちゃうんだ
s/([[:punct:]]|&gt;)+//g
をやるとgtが置換されずに残る
末尾に$とか目標物を付ければ切れないんだが
さてどうして切れるのか誰か教えて
753デフォルトの名無しさん
2023/06/24(土) 00:36:09.10ID:X4q59utv やっぱ左側が優先なのか
(&gt;|[[:punct:]])
と入れ替えたら切れない
(&gt;|[[:punct:]])
と入れ替えたら切れない
754デフォルトの名無しさん
2023/06/24(土) 09:56:18.97ID:o3ZfF1Sp755751
2023/06/24(土) 11:05:23.89ID:QPqcCtG1756デフォルトの名無しさん
2023/06/24(土) 11:10:05.28ID:QPqcCtG1 あ、NTTと早大のやつは正規表現を^と$で囲ってから動かして
757デフォルトの名無しさん
2023/06/24(土) 11:21:09.38ID:X4q59utv758デフォルトの名無しさん
2023/06/24(土) 16:54:14.04ID:QPqcCtG1 >最大の最長を探す記述
ちょっと探してみたらPHPのオプションにあった
www.php.net/manual/ja/function.mb-regex-set-options.php
> l 最も長くマッチするものを探す
この処理ってすごく重くなりそうなイメージがあったけどそうでもないのかな
ちょっと探してみたらPHPのオプションにあった
www.php.net/manual/ja/function.mb-regex-set-options.php
> l 最も長くマッチするものを探す
この処理ってすごく重くなりそうなイメージがあったけどそうでもないのかな
759デフォルトの名無しさん
2023/06/24(土) 17:35:54.33ID:X4q59utv PHPだけじゃなあ
結局、事故らない為には長さの違うダブリは取り除いておくほうが無難ってことか
結局、事故らない為には長さの違うダブリは取り除いておくほうが無難ってことか
760743
2023/06/25(日) 11:57:31.39ID:YeZqv3UB >> 759
考えてみると長いほうを前にしても短いほうがマッチ出来なくて詰むケースがあるのか
正規表現むずかしい
>> 740 741 754
改行コードがLFやCRのみの場合に対応してない
最後の行がAAAで始まらない場合、行末の改行が無い場合に削除されない
743は両方に対応しているけど740の発想のほうがシンプルで優れてるね
あとサクラエディタでは\Rが使えるので使ったほうが簡単に書けそう
考えてみると長いほうを前にしても短いほうがマッチ出来なくて詰むケースがあるのか
正規表現むずかしい
>> 740 741 754
改行コードがLFやCRのみの場合に対応してない
最後の行がAAAで始まらない場合、行末の改行が無い場合に削除されない
743は両方に対応しているけど740の発想のほうがシンプルで優れてるね
あとサクラエディタでは\Rが使えるので使ったほうが簡単に書けそう
761デフォルトの名無しさん
2023/06/27(火) 21:16:47.75ID:TnfGmDZI 最長一致マッチが有効のとき、下の正規表現は何にマッチすべき?
"abcd" =~ /abc\Kd|abc/;
\Kの前を文字列長に含めるべきか否かを考えて下さい
"abcd" =~ /abc\Kd|abc/;
\Kの前を文字列長に含めるべきか否かを考えて下さい
762デフォルトの名無しさん
2023/06/28(水) 12:49:16.44ID:vk3PbjZ1 元より最左ルールに基づいてdよりabcにマッチすべきとはならんやろ
763761
2023/06/28(水) 13:05:55.77ID:m0cBggZC764デフォルトの名無しさん
2023/06/29(木) 11:57:49.56ID:0JMnG4u5 最長一致する正規表現が有効の場合
1、「abc」「あ」
2、「て゛」「で」
A. 前が長い
B. 同じ長さ
C. 後ろが長い
1、「abc」「あ」
2、「て゛」「で」
A. 前が長い
B. 同じ長さ
C. 後ろが長い
765デフォルトの名無しさん
2023/07/02(日) 20:25:06.40ID:/BVUs+ug 奥が深すぎる
766デフォルトの名無しさん
2023/07/06(木) 13:17:43.04ID:GbtWdAMV twitter.com/k_takata/status/1676247372731662336
>正規表現技術入門が第2刷増刷
おめでとうございます
bregonig.dllやonigmoにはいつもお世話になってます
vimは知りませんw
>正規表現技術入門が第2刷増刷
おめでとうございます
bregonig.dllやonigmoにはいつもお世話になってます
vimは知りませんw
767デフォルトの名無しさん
2023/07/06(木) 17:43:12.24ID:SQbV6Whm JaneStyleであぼーんにつかいたいのですが、
アウアウウー Sa47-runv [106.131.26.222]
47
runv
131.26.222
この3つが変わる場合の正規表現ってどうかいたらよいでしょうか?
アウアウウー Sa47-runv [106.131.26.222]
47
runv
131.26.222
この3つが変わる場合の正規表現ってどうかいたらよいでしょうか?
768デフォルトの名無しさん
2023/07/06(木) 20:37:36.61ID:GbtWdAMV Jane Styleの仕様が分からないけどこれでいける?
(?i)アウアウウー\s*Sa[a-z\d]{2}-[a-z\d]{4}\s*\[106\.\d{1,3}\.\d{1,3}\.\d{1,3}\]
(?i)アウアウウー\s*Sa[a-z\d]{2}-[a-z\d]{4}\s*\[106\.\d{1,3}\.\d{1,3}\.\d{1,3}\]
769デフォルトの名無しさん
2023/07/06(木) 21:30:05.44ID:7Yxy824T770デフォルトの名無しさん
2023/07/06(木) 21:54:51.51ID:7Yxy824T771デフォルトの名無しさん
2023/07/06(木) 21:55:53.42ID:gWNyo9yQ いやそれでいけるでしょ
(?i)はデフォなので要らないけど
ダメなら設定の仕方が悪いか、既に表示されているものにNGを設定したんで
設定前の表示が表示されたままで再描画をやってないのでNGが表示に反映されてないかのどっちか
(?i)はデフォなので要らないけど
ダメなら設定の仕方が悪いか、既に表示されているものにNGを設定したんで
設定前の表示が表示されたままで再描画をやってないのでNGが表示に反映されてないかのどっちか
772デフォルトの名無しさん
2023/07/06(木) 22:11:26.50ID:GbtWdAMV 動いて良かった、正規表現の勉強頑張れーw
771さんもありがとう
771さんもありがとう
773デフォルトの名無しさん
2023/07/06(木) 22:11:33.07ID:4RAXuAwI ちなみにワッチョイの下4桁、runvの部分は大文字もありうるから
その正規表現すり抜けするかも
その正規表現すり抜けするかも
774デフォルトの名無しさん
2023/07/06(木) 22:16:17.63ID:gWNyo9yQ (?i)が付いてるし、なくてもそれがデフォだから大丈夫だよ
775デフォルトの名無しさん
2023/07/06(木) 22:21:43.88ID:7Yxy824T >>773
(?i)アウアウウー\s*Sa[0-9A-Za-z\d]{2}-[0-9A-Za-z\d]{4}\s*\[106\.\d{1,3}\.\d{1,3}\.\d{1,3}\]
一応、ご指摘通り改良しておきました!
(?i)アウアウウー\s*Sa[0-9A-Za-z\d]{2}-[0-9A-Za-z\d]{4}\s*\[106\.\d{1,3}\.\d{1,3}\.\d{1,3}\]
一応、ご指摘通り改良しておきました!
776デフォルトの名無しさん
2023/07/07(金) 00:41:55.61ID:adSx9MnJ 反対に(?i)ではSaの他にsAにもマッチしてしまうのでは?
(?-i)アウアウウー Sa..-.... \[106\.
これで誤爆する実例があるなら教えてほしい
(?-i)アウアウウー Sa..-.... \[106\.
これで誤爆する実例があるなら教えてほしい
777デフォルトの名無しさん
2023/07/07(金) 13:06:44.76ID:xew4KSRK 言い方があれだけど、丁寧に書いたかどうかの差なのでどっちでも機能すると思う
778デフォルトの名無しさん
2023/07/07(金) 23:28:01.04ID:chPidFQv 鬼車で(?L)と\g<0>が共存出来ないようだけど
"\g<0>が正規表現全体を取り込むときに(?L)だけを取り込まないようにする"
という修正案で何か問題が起こるか分かる人いません?
例えば (?Lix)abc\g<0> だったら\g<0>の中身が (?ix)abc\g<0> になるようにすれば
共存可能になるんだけど副作用が出るのか分からない
鬼車公式) 全体オプション
github.com/kkos/oniguruma/blob/41a3b802af2155eef6d648aa3608e39605110642/doc/RE.ja#L288
LだけじゃなくCとIも共存不可でした
"\g<0>が正規表現全体を取り込むときに(?L)だけを取り込まないようにする"
という修正案で何か問題が起こるか分かる人いません?
例えば (?Lix)abc\g<0> だったら\g<0>の中身が (?ix)abc\g<0> になるようにすれば
共存可能になるんだけど副作用が出るのか分からない
鬼車公式) 全体オプション
github.com/kkos/oniguruma/blob/41a3b802af2155eef6d648aa3608e39605110642/doc/RE.ja#L288
LだけじゃなくCとIも共存不可でした
779デフォルトの名無しさん
2023/07/09(日) 12:38:44.00ID:dnLGUnq0780デフォルトの名無しさん
2023/07/09(日) 15:02:36.24ID:NT/2XwNR 最長マッチ(?L)を知らなかったんだけど何か思ってたのと全然違った
DFA的な最長だと思ってたのに
DFA的な最長だと思ってたのに
781デフォルトの名無しさん
2023/07/09(日) 17:56:55.84ID:dnLGUnq0 最左じゃなくても良いみたい
UTF-8のとき
abc < abc\Kd
ab < あ
で < て゛
"(?C)a(b|\g<0>)c" がエラーになるのはモヤっとする
"(?C)" が捕獲無効にするから "\g<1>" は使えないし
UTF-8のとき
abc < abc\Kd
ab < あ
で < て゛
"(?C)a(b|\g<0>)c" がエラーになるのはモヤっとする
"(?C)" が捕獲無効にするから "\g<1>" は使えないし
782デフォルトの名無しさん
2023/07/10(月) 13:05:06.30ID:8apozFwM > ab < あ
マルチバイト文字を含む文字列に対して (?L) は使いにくいな
文字単位での長さで比較するようにするのは重くなる上に難易度高そう
マルチバイト文字を含む文字列に対して (?L) は使いにくいな
文字単位での長さで比較するようにするのは重くなる上に難易度高そう
783デフォルトの名無しさん
2023/07/10(月) 20:06:05.30ID:8apozFwM JaneStyleが5ch.netのサポートを終了
この前NG登録出来て喜んでた人かわいそす
この前NG登録出来て喜んでた人かわいそす
784デフォルトの名無しさん
2023/07/11(火) 10:50:26.27ID:6DaZenCz (?L)をマルチ文字対応にするのは無理だけど
>"(?C)a(b|\g<0>)c" がエラーになる
これを使えるように出来る人はいるんじゃないかな
夏休みで暇を持て余している大学生の皆さん、Let's try!
>"(?C)a(b|\g<0>)c" がエラーになる
これを使えるように出来る人はいるんじゃないかな
夏休みで暇を持て余している大学生の皆さん、Let's try!
785デフォルトの名無しさん
2023/07/13(木) 19:11:50.96ID:7AgmN8D3 JAPANを日本、NIPPONをニッポンに、同時に置き換える
JAPAN|NIPPON
↓
日本|ニッポン
JAPAN|NIPPON
↓
日本|ニッポン
786デフォルトの名無しさん
2023/07/13(木) 23:55:44.94ID:OlRmyaph >>785
サクラエディタ+bregonig.dllでは無理っす
サクラエディタ+bregonig.dllでは無理っす
787デフォルトの名無しさん
2023/07/14(金) 00:50:54.69ID:JHf9vJmP788デフォルトの名無しさん
2023/07/14(金) 13:30:40.79ID:lxqistQI わしは鬼車のscan.cをいじって好きに置換出来るようにしたぞ。ファイルからhtmlソースを読み込んで繰り返し検索・置換して結果を別ファイルに出力するようにしとる。便利なのだが使う機会は滅多にない。日常の置換はほぼ秀丸で事足りる。
789デフォルトの名無しさん
2023/07/15(土) 18:19:44.01ID:nnNpViq+ JavaScriptですが「0を含めない正の半角数値のみ」というのは、どう書けばいいのでしょうか?
790デフォルトの名無しさん
2023/07/15(土) 18:22:35.95ID:nnNpViq+ 0を含めないというのは「0より大きい正の半角数値のみ」という意味です
791デフォルトの名無しさん
2023/07/15(土) 18:39:49.26ID:Fs/aULCy 正規表現でやることじゃない
792デフォルトの名無しさん
2023/07/15(土) 18:47:36.28ID:vGns6WZO (?!(?!<[0-9])0(?![0^9]))[0-9]+
00とかあるんだったらダメだけど
00とかあるんだったらダメだけど
793デフォルトの名無しさん
2023/07/15(土) 18:47:49.29ID:hche+KD8794デフォルトの名無しさん
2023/07/15(土) 19:54:00.17ID:nnNpViq+795デフォルトの名無しさん
2023/07/15(土) 20:24:42.65ID:hche+KD8 >>794
「正規表現だけで評価したい理由」になってない
許可したい文字種が「0から9までの数字」ってことで良いのなら、下記で済ませるのが妥当(符号・少数点・セパレータを含んでいたり、16進表記、指数表記、インド数字、などの表現は不許可)
const isValid = Number(inputString) && /^[0-9]+$/.test(inputString);
「正規表現だけで評価したい理由」になってない
許可したい文字種が「0から9までの数字」ってことで良いのなら、下記で済ませるのが妥当(符号・少数点・セパレータを含んでいたり、16進表記、指数表記、インド数字、などの表現は不許可)
const isValid = Number(inputString) && /^[0-9]+$/.test(inputString);
796デフォルトの名無しさん
2023/07/15(土) 21:27:34.96ID:nnNpViq+ すみません
説明の仕方が悪かったです
「正の実数(少数も含む)」でした
0も含ませることにしました
それでこうしました
^(0|[1-9][0-9]*)(|[.][0-9]+)$
説明の仕方が悪かったです
「正の実数(少数も含む)」でした
0も含ませることにしました
それでこうしました
^(0|[1-9][0-9]*)(|[.][0-9]+)$
797デフォルトの名無しさん
2023/07/15(土) 21:44:37.74ID:Ip1+AB5X そして半年後…
「誰だよこんなクソプログラム書いたやつ💢」
「誰だよこんなクソプログラム書いたやつ💢」
798デフォルトの名無しさん
2023/07/15(土) 21:52:20.50ID:G+tF3yG6 滅茶苦茶わかりみ
美しくないプログラムはパッと見てうんざりする
美しくないプログラムはパッと見てうんざりする
799デフォルトの名無しさん
2023/07/17(月) 02:00:45.07ID:MFjOLYv6 改行厨たいさく
[^\n]+([\n\r\s]{2,})[^\n]+([\n\r\s]{2,})[^\n]+([\n\r\s]{2,})[^\n]+
[^\n]+([\n\r\s]{2,})[^\n]+([\n\r\s]{2,})[^\n]+([\n\r\s]{2,})[^\n]+
800デフォルトの名無しさん
2023/07/20(木) 17:25:16.42ID:OqTU1F4P >>785
そういうの出来るといいですけどねえ
そういうの出来るといいですけどねえ
801デフォルトの名無しさん
2023/07/21(金) 15:55:34.48ID:GwV7ay2N802デフォルトの名無しさん
2023/07/23(日) 00:50:40.93ID:hdFkAV/t hage【ZEN123】hoge456789
上記の【】内の全角英数字だけを半角にする
正規表現では無理なパターンの例か
上記の【】内の全角英数字だけを半角にする
正規表現では無理なパターンの例か
803デフォルトの名無しさん
2023/07/23(日) 05:19:55.24ID:BnGP1dsy 正規表現ライブラリを使う側のアプリに変換関数を実装すれば可能になるので
そういう正規表現環境は既に存在してるかも?
今のテキストエディタでもマクロでなら出来るものがありそう
そういう正規表現環境は既に存在してるかも?
今のテキストエディタでもマクロでなら出来るものがありそう
804デフォルトの名無しさん
2023/07/23(日) 09:48:00.20ID:PHWyKwrY 秀丸のようにマクロ使わずに検索→変換できるエディタもあるしね
805デフォルトの名無しさん
2023/07/23(日) 13:07:11.02ID:BnGP1dsy 秀丸と言えば鬼車を秀丸で使えるようにしようとしてる方がいるから
お願いすれば 全角->半角変換 や >>785 の置換に対応してもらえるかも?
本家の最新の鬼車の秀丸エディタからの利用方法
www2.maruo.co.jp/hidesoft/2/x39752_.html
お願いすれば 全角->半角変換 や >>785 の置換に対応してもらえるかも?
本家の最新の鬼車の秀丸エディタからの利用方法
www2.maruo.co.jp/hidesoft/2/x39752_.html
806デフォルトの名無しさん
2023/07/23(日) 15:10:19.87ID:nlZnqujR >>805
それは、一時期そこら中で暴れていた「触れてはいけない人」のヤツだねw
それは、一時期そこら中で暴れていた「触れてはいけない人」のヤツだねw
807デフォルトの名無しさん
2023/07/23(日) 16:14:08.28ID:BnGP1dsy その点は賛否あるだろうけど技術力もモチベも高そうな方だから期待してる
808デフォルトの名無しさん
2023/07/24(月) 12:53:06.11ID:LBGWnldn809デフォルトの名無しさん
2023/07/25(火) 00:28:01.42ID:ijwgoKNu 「正規表現には方言がある」
エディターを乗り換えた時に初めて気付かされたな
エディターを乗り換えた時に初めて気付かされたな
810デフォルトの名無しさん
2023/07/25(火) 01:58:51.32ID:DaPN/KaH \1(sed系)なのか、$1(perl系)なのかは、最初はいつも逆をやってしまう
811デフォルトの名無しさん
2023/07/25(火) 02:10:59.59ID:m8SWwEXi \1ってあちこちにあるものだったのか
EmEditorってエディタがそれでなんだこれって思ってた
EmEditorってエディタがそれでなんだこれって思ってた
812デフォルトの名無しさん
2023/07/25(火) 16:23:19.14ID:hmH9EM9U Onigumoで検索して気持ち悪くなる定期
813デフォルトの名無しさん
2023/07/29(土) 20:32:41.26ID:xNvNUPTs 詳説正規表現の1章だけとりあえず読み終えたけど正規表現の使いどころがわからない
正規表現の便利な使い方教えて!
正規表現の便利な使い方教えて!
814デフォルトの名無しさん
2023/07/29(土) 21:44:23.17ID:slvWQQxm >>813
^(?=.*正規表現)(?=.*教えて)
^(?=.*正規表現)(?=.*教えて)
815デフォルトの名無しさん
2023/07/29(土) 21:46:27.76ID:slvWQQxm816デフォルトの名無しさん
2023/07/29(土) 21:49:39.05ID:slvWQQxm817デフォルトの名無しさん
2023/07/29(土) 21:51:07.45ID:Z2bzRt4C 俺のレス消えちゃうんじゃない?
?=がよくわからないけど後で調べとくよ
?=がよくわからないけど後で調べとくよ
818デフォルトの名無しさん
2023/07/30(日) 10:33:11.68ID:3uyXLeeN テキストエディタで置換を行うときに「正規表現」と「選択範囲」をオン
検索: ^
置換: #
選択範囲の全ての行をコメントアウト出来て便利
--------------------------------------------------------
検索: [ \t]+$
置換: (なし)
行末の余計なスペースを削除出来て便利
検索: ^
置換: #
選択範囲の全ての行をコメントアウト出来て便利
--------------------------------------------------------
検索: [ \t]+$
置換: (なし)
行末の余計なスペースを削除出来て便利
819デフォルトの名無しさん
2023/08/12(土) 18:48:03.89ID:g9Iw6FTW https://hoge.com/p2io0z.png https://fuga.net/f8qpes.png https://moga.com/6nw4yt.png
の用に1行に複数URLがスペース区切りで記載されているものを、それぞれ単独で抜き出したいです。
https?://(?:[!-~]+.)+[!-~]+
だと最長一致になってしまうようで、1行丸ごと対象になってしまます
最短一致出来ればいいと思うのですが、どう正規表現を弄ればいいか教えてください。
の用に1行に複数URLがスペース区切りで記載されているものを、それぞれ単独で抜き出したいです。
https?://(?:[!-~]+.)+[!-~]+
だと最長一致になってしまうようで、1行丸ごと対象になってしまます
最短一致出来ればいいと思うのですが、どう正規表現を弄ればいいか教えてください。
820デフォルトの名無しさん
2023/08/12(土) 18:56:16.40ID:IKZkjZuG http[^\s]+
821デフォルトの名無しさん
2023/08/12(土) 19:02:22.92ID:BmgakVsI >>819
.をエスケープ
.をエスケープ
822デフォルトの名無しさん
2023/08/12(土) 19:14:06.14ID:g9Iw6FTW823デフォルトの名無しさん
2023/08/13(日) 14:38:57.47ID:vv6Q6LsS 突然大きな声で叫ぶな
824デフォルトの名無しさん
2023/08/20(日) 13:26:03.91ID:tG3c9Vi+ perl 正規表現で一発変換できませんか
"aaa \"bbb\" \"ccc\" ddd" # これを以下にしたい
aaa "bbb" "ccc" ddd
"aaa \"bbb\" \"ccc\" ddd" # これを以下にしたい
aaa "bbb" "ccc" ddd
825デフォルトの名無しさん
2023/08/20(日) 13:58:40.55ID:vZ93TkLb 正規表現で
my $s = '"aaa \"bbb\" \"ccc\" ddd"';
$s =~ s/(.*)/eval $s/e;
正規表現を使わずに
my $x = eval '"aaa \"bbb\" \"ccc\" ddd"';
my $s = '"aaa \"bbb\" \"ccc\" ddd"';
$s =~ s/(.*)/eval $s/e;
正規表現を使わずに
my $x = eval '"aaa \"bbb\" \"ccc\" ddd"';
826デフォルトの名無しさん
2023/08/20(日) 14:00:17.67ID:vZ93TkLb >>825
$s =~ s/(.*)/eval $s/e;
↓
$s =~ s/(.*)/eval $1/e;
$s =~ s/(.*)/eval $s/e;
↓
$s =~ s/(.*)/eval $1/e;
8270824
2023/08/20(日) 20:08:57.65ID:tG3c9Vi+ 文字列をevalで再度評価させる
ありがとうございます、勉強になります
ただ文字列にシングルクォートはありません
文字列に2つのパターンがあります
hogehoge "aaa bbb ccc ddd"
hogehoge "aaa \"bbb \"ccc ddd"
s/hogehoge\s+"(.+)".*\n/$1/; # で弾いて
tr/\\//d; # 2回処理しています
ありがとうございます、勉強になります
ただ文字列にシングルクォートはありません
文字列に2つのパターンがあります
hogehoge "aaa bbb ccc ddd"
hogehoge "aaa \"bbb \"ccc ddd"
s/hogehoge\s+"(.+)".*\n/$1/; # で弾いて
tr/\\//d; # 2回処理しています
828デフォルトの名無しさん
2023/08/20(日) 20:26:08.36ID:vZ93TkLb 単純に
s/\\//g
でええんとちゃうん
s/\\//g
でええんとちゃうん
8290824
2023/08/20(日) 20:59:59.16ID:tG3c9Vi+ >>828
2回処理するのでindexで調べてtr使った方が早いでしょ
hogehoge "aaa bbb ccc ddd"
hogehoge "eee \"fff\" \"ggg\" hhh"
目的文字列
aaa bbb ccc ddd
eee "fff" "ggg" hhh
2回処理するのでindexで調べてtr使った方が早いでしょ
hogehoge "aaa bbb ccc ddd"
hogehoge "eee \"fff\" \"ggg\" hhh"
目的文字列
aaa bbb ccc ddd
eee "fff" "ggg" hhh
830デフォルトの名無しさん
2023/08/20(日) 21:32:41.19ID:vZ93TkLb 一発変換したいんじゃないの?
s/hogehoge\s+(.+)/eval $1/e
s/hogehoge\s+(.+)/eval $1/e
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 「すごいアイドル出てきた」「かわいすぎる」ラヴィット初登場の美女に視聴者驚き ≠ME櫻井もも [ヴァイヴァー★]
- 【悲報】安倍晋三と高市早苗、どっちがヤベーの🤔 [616817505]
- 中国高官と話す外務省局長の表情、やばい [175344491]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
- 【速報】中国が日中関係悪化は高市氏に責任と名指しで非難 [931948549]
- ネトウヨ論調決まる「寧ろ迷惑中国人観光客が減ることで日本人の旅行が活性化され経済的には影響ない」 <mark>[ひまわり学級]</mark> [511393199]
