[過去ログ]
Regular Expression(正規表現) Part16 (1002レス)
Regular Expression(正規表現) Part16 http://mevius.5ch.net/test/read.cgi/tech/1635936601/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
536: デフォルトの名無しさん [] 2022/09/19(月) 16:41:30.36 ID:4iw9Mtek >>535 ありがとうございます、いけました (ついでに””も削除) \x22.*\x22\s|\x22 http://mevius.5ch.net/test/read.cgi/tech/1635936601/536
537: デフォルトの名無しさん [sage] 2022/09/20(火) 02:58:09.09 ID:94I1wBUa 二重引用符のエスケープは重ねて""だな "".*""\s http://mevius.5ch.net/test/read.cgi/tech/1635936601/537
538: デフォルトの名無しさん [sage] 2022/10/29(土) 13:09:46.30 ID:ec13kmtS ●Regular Expressionの使用環境 PCRE2 ●検索か置換か? 検索 ●説明 (..[\0@-g]\0){147}などを高速に検索したい ●対象データ メガ単位のバイナリファイル(リトルエンディアン) ●希望する結果 説明は一例なので前中後にリテラルパターンが入る事もありますが(16KiBを越える事も)、固定長で 一定範囲だが不明な32bit値(0または0x00400000〜0x00670000付近)を含むブロック位置を列挙したいです 現状PCRE2で検索は出来ていますが、Intel Hyperscanだと ut
il/determinise.h:determinise:162:succ_id 16383 >= state_limit 16383 ng_mcclellan.cpp:buildMcClellan:590:state limit exceeded rose_build_add.cpp:addOutfix:1779:could not build as either an NFA or a DFA ng.cpp:addGraph:507:could not compile component 0 with 592 vertices と言われて説明の例に限っては正規表現のコンパイルすら不可能です 32bit値は4バイト境界に限りませんが、ブロック先頭は4バイト境界なのでそこから高速化したいのですが 「(?>....)*?\K」を接頭しようとするとPCRE2_ANCHOREDはJITで使えませんし、そもそ
も遅くなるようです 今のところプログラム側でオフセットが4バイト境界のみを拾い、次の検索開始もアライメントしています コールアウトもお察し…こういったパターンに適した書き方、又はCライブラリが有れば教えて欲しいです http://mevius.5ch.net/test/read.cgi/tech/1635936601/538
539: デフォルトの名無しさん [sage] 2022/10/29(土) 19:31:13.26 ID:9Ey1MUJ8 >>538 \0@って何? \c@でNULL文字検索の意味ではないの? http://mevius.5ch.net/test/read.cgi/tech/1635936601/539
540: デフォルトの名無しさん [sage] 2022/10/29(土) 19:42:35.80 ID:ec13kmtS >>539 文字クラス[\0@-g]なので表記を統一するなら[\x00\x40-\x67]になります http://mevius.5ch.net/test/read.cgi/tech/1635936601/540
541: デフォルトの名無しさん [sage] 2022/10/30(日) 10:24:48.15 ID:dZd+t5oq スプレッドシートで20221030と入力されている数字を日付の表記?2022/10/30なのか10/30/2022なのかわからないけどDATEDIF関数に使える形に置換する正規表現ってどう書きますでしょうか http://mevius.5ch.net/test/read.cgi/tech/1635936601/541
542: デフォルトの名無しさん [sage] 2022/10/30(日) 11:55:42.97 ID:oF72FRjI >>541 正規表現では無理。スレチ DATE関数で日付にかDATEVALUE関数でシリアル値に変換 セルA1の値:20221030 =DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2)) =DATEDIF(DATE(LEFT(A1,4),MID(A1,5,2),RIGHT(A1,2)),"2022/11/01","D") http://mevius.5ch.net/test/read.cgi/tech/1635936601/542
543: デフォルトの名無しさん [sage] 2022/10/30(日) 12:28:15.07 ID:S1PTRz+V >>541 =DATEVALUE(REGEXREPLACE(A1, "^(....)(..)(..)$", "$1/$2/$3")) >>542 スレチ http://mevius.5ch.net/test/read.cgi/tech/1635936601/543
544: デフォルトの名無しさん [] 2022/11/02(水) 14:16:53.69 ID:gx4Z74sz すいません。 0と正の整数のみにマッチする正規表現はどう書きますか ---- OK 0 1 22 303 999999 ---- NG -3 z55 0.33 http://mevius.5ch.net/test/read.cgi/tech/1635936601/544
545: デフォルトの名無しさん [sage] 2022/11/02(水) 14:20:50.51 ID:4jxQNd6r ^\d+$ http://mevius.5ch.net/test/read.cgi/tech/1635936601/545
546: デフォルトの名無しさん [] 2022/11/02(水) 14:26:53.26 ID:gx4Z74sz ありがとうございました! http://mevius.5ch.net/test/read.cgi/tech/1635936601/546
547: デフォルトの名無しさん [sage] 2022/11/02(水) 14:39:57.52 ID:Hz9+pCnD 00 00000000 012 003102 とかはええんかC言語だと8進数なんだけど http://mevius.5ch.net/test/read.cgi/tech/1635936601/547
548: デフォルトの名無しさん [sage] 2022/11/02(水) 14:57:45.88 ID:mLb2a5cx 最近は8進数を0oと書くのが主流じゃね? http://mevius.5ch.net/test/read.cgi/tech/1635936601/548
549: デフォルトの名無しさん [sage] 2022/11/02(水) 15:14:09.32 ID:gx4Z74sz いやよくないのですが。。 http://mevius.5ch.net/test/read.cgi/tech/1635936601/549
550: デフォルトの名無しさん [sage] 2022/11/02(水) 22:52:34.87 ID:WMtJS4K4 >>547 なぜC言語? http://mevius.5ch.net/test/read.cgi/tech/1635936601/550
551: デフォルトの名無しさん [sage] 2022/11/03(木) 13:08:35.66 ID:yr3S2O5F ^(?:0|[1-9]\d*+)$ http://mevius.5ch.net/test/read.cgi/tech/1635936601/551
552: デフォルトの名無しさん [sage] 2022/11/03(木) 23:35:12.45 ID:gGr9RQjz A(B(1), C(2)), B(3), C(4), A(D(5))の A(B(1), C(2))とA(D(5))の両方にマッチする表現できますでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1635936601/552
553: デフォルトの名無しさん [sage] 2022/11/04(金) 00:21:55.02 ID:Rv2RlvZT A\([BD]\([15]\)(, C\(2\))?\) http://mevius.5ch.net/test/read.cgi/tech/1635936601/553
554: デフォルトの名無しさん [sage] 2022/11/04(金) 00:32:30.76 ID:u3TD418O >>552 関数名は英数字1文字、ネストされた関数の引数は数字1文字にしてるけどこんな感じでいけるかと \w\(\w\(\d\)(?:,\s*\w\(\d\))*\) https://i.imgur.com/8ayodnp.jpg http://mevius.5ch.net/test/read.cgi/tech/1635936601/554
555: デフォルトの名無しさん [sage] 2022/11/04(金) 19:23:25.88 ID:aOu/uEdM >>553-554 参考になりました ありがとうございます http://mevius.5ch.net/test/read.cgi/tech/1635936601/555
556: デフォルトの名無しさん [sage] 2022/11/05(土) 19:55:25.05 ID:xnenmrxP 下のようなテキストがあった時、 フシギダネ、たねポケモン。生まれてから、しばらくの間は背中のタネから栄養をもらって大きく育つ。 フシギソウ、たねポケモン。背中のつぼみがふくらみだすと、あまい匂いが漂い始める。 フシギバナ、たねポケモン。雨の降った翌日は、背中の花の香りが強まる。 その行で最初に出てきた「、」だけをTabで置換したいのですが、 正規表現でなんとかできますかね?(´・ω・`) http://mevius.5ch.net/test/read.cgi/tech/1635936601/5
56
557: デフォルトの名無しさん [sage] 2022/11/05(土) 19:57:13.42 ID:Gow5Zgrm 顔文字が気持ち悪い http://mevius.5ch.net/test/read.cgi/tech/1635936601/557
558: デフォルトの名無しさん [sage] 2022/11/05(土) 19:57:30.67 ID:KyEMh/LJ マルチラインモードのg無し置換でええのでは? http://mevius.5ch.net/test/read.cgi/tech/1635936601/558
559: デフォルトの名無しさん [sage] 2022/11/05(土) 20:01:38.81 ID:xnenmrxP すみません。7分で自己解決しました。(´・ω・`) http://mevius.5ch.net/test/read.cgi/tech/1635936601/559
560: デフォルトの名無しさん [sage] 2022/11/06(日) 18:52:14.69 ID:Ju9kLy6l >>559.replace('(´・ω・`)', ''); http://mevius.5ch.net/test/read.cgi/tech/1635936601/560
561: デフォルトの名無しさん [sage] 2022/11/06(日) 18:56:40.82 ID:gpiofWbc >>560 エスケープしろ http://mevius.5ch.net/test/read.cgi/tech/1635936601/561
562: デフォルトの名無しさん [] 2022/12/01(木) 00:48:55.16 ID:7b6m1q/M 師走だ http://mevius.5ch.net/test/read.cgi/tech/1635936601/562
563: デフォルトの名無しさん [] 2022/12/01(木) 20:43:42.13 ID:MJwbaGOX >>556 ^(.*?)、(.*)$ → $1¥t$2 http://mevius.5ch.net/test/read.cgi/tech/1635936601/563
564: デフォルトの名無しさん [sage] 2022/12/07(水) 17:35:07.95 ID:hI2dpmO3 正規表現はコードを分かりにくくする非常に悪い技術だと思います。 早く廃止され、代替方法が見つかってほしいです。 http://mevius.5ch.net/test/read.cgi/tech/1635936601/564
565: デフォルトの名無しさん [sage] 2022/12/07(水) 18:06:34.78 ID:Zr5hf/of それは思うけどqwertyキーボードですらこの半世紀何も変わってないし、Legacy引き摺る類のUIは余程の転換期でも起こらない限り無理なんじゃないかな http://mevius.5ch.net/test/read.cgi/tech/1635936601/565
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 437 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.021s