[過去ログ]
Regular Expression(正規表現) Part15 (1002レス)
Regular Expression(正規表現) Part15 http://mevius.5ch.net/test/read.cgi/tech/1568640311/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
503: デフォルトの名無しさん [] 2021/02/06(土) 14:47:08.00 ID:s4jA/y9i お願いします ●Regular Expressionの使用環境 VBScript ●検索か置換か? 置換 ●説明 [hoge]をブラケットごと消したい [[hoge]]の場合は残したい ●対象データ abc[hoge]def ghi[[hoge]]jkl ●希望する結果 abcdef ghi[[hoge]]jkl ^^^^^^^ 否定戻り読み否定先読みで試してみたのですが、ブラケット2回の場合にマッチせずブラケット1回の場合にのみマッチさせる方法が分かりませんでした よろしくお願いします http://mevius.5ch.net/test/read.cgi/tech/1568640311/503
505: デフォルトの名無しさん [sage] 2021/02/06(土) 16:56:52.18 ID:EC31O1b+ >>503 VBSには否定戻り読みは無いので、工夫するしかない すぐには思いつかないけどもっといい方法もあるかもしれないのでググってみては? 愚直には、一つの方法として以下の場合に分ける 1) [hoge]で始まる場合 2) 文字列があって [ 以外で終わって [hoge] がある場合 3) 文字列があって [ で終わってる場合、[hoge] があって ] が続かないこと pattern : "^(?:\[hoge]|(.*?\[)\[hoge\](?!\])|(.*?[^\[])\[hoge\])(.*)$" replace : "$1$2$3" abcdef → abcdef [hoge]def → def [[abc]]def → [[hoge]]def abc[hoge]def → abcdef abc[[hoge]]def → abc[[hoge]]def abc[[hoge]def → abc[def abc[hoge]]def → abc]def 下2つの場合が無ければもう少し簡易にできる では[hoge]が2つ以上ある場合はどうするか? すぐ思いつく方法としては、変換をループさせて、文字列に変化がなければ終わりとか http://mevius.5ch.net/test/read.cgi/tech/1568640311/505
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.538s*