[過去ログ] Regular Expression(正規表現) Part14 [無断転載禁止]©2ch.net (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
763: 2018/12/10(月)17:25 ID:RTUhzLAF(1) AAS
そして回答はアダルトカテゴリのみという…
764: 2018/12/10(月)17:29 ID:RU/iAdEK(4/5) AAS
やっぱ質問スレと本スレは分けるべきだな
この流れになると賢い人が来なくなってしまう
765: 729 2018/12/10(月)18:14 ID:PtRqcV9k(1) AAS
なんで馬鹿が一匹きただけでそういう話になるんだよ
過剰対応の典型やろ
766: 2018/12/10(月)21:59 ID:RU/iAdEK(5/5) AAS
入門サイトすら読んでないような人の質問とその回答にうんざりして
来なくなった人は大勢いると思うんだがそういう人達が集まれるスレが
あったらひょっとしたらすごいスレになるんじゃないかという期待がある
実際はただ過疎るだけなんだろうけどね
767: 2018/12/11(火)02:31 ID:oKdEGQIj(1) AAS
隔離スレなんて作るだけ無駄だろ
機能してるところなんて見たこと無い
768: 2018/12/11(火)02:44 ID:4gYtUlOJ(1) AAS
PCサロン板なら迷惑にならなそうなので立ててみた

【PCサロン】正則表現 part1
2chスレ:pc2nanmin

基本過疎進行ですが正規表現を使いこなせる人同士で語りたい方はこちらで
769: 2018/12/13(木)17:01 ID:IMhQiOyS(1) AAS
回答が付いた。でも微妙におかしい。つっこんであげるべきか?
770: 2018/12/14(金)20:59 ID:DlmPms4F(1/2) AAS
^
(?:
(?!あああ|かかか).
)*+
(?>
(あああ)
|
かかか
)
(?:
省4
771: 2018/12/14(金)21:11 ID:DlmPms4F(2/2) AAS
^
(?~あああ|かかか)
(?>
(あああ)
|
かかか
)
(?~あああ|かかか)
(?(1)かかか|あああ)
.*$
772
(2): 2019/01/10(木)03:02 ID:mY602DpM(1) AAS
FirefoxやChromeのブックマークにこれ登録して
画像リンク[jpg]:i.imgur.com

ブラウザのアドレスバーに
re foo|bar|baz
と入れると

外部リンク:regexper.com
に飛べるようになる
簡易チェッカーとして便利
773: 2019/01/10(木)14:50 ID:Q3mhk3sM(1/2) AAS
>>772
いいねw まったく思い付きもしなかったアイデアwww
774: 2019/01/10(木)15:21 ID:Q3mhk3sM(2/2) AAS
>>772
chrome on mac だけどブックマークではダメで、設定→検索エンジン→検索エンジンの管理→追加 から登録しないといけなかったわ。
775: 2019/01/13(日)18:46 ID:vFHHKg45(1) AAS
URL(http|https)の正規表現って難しいのかね
外部リンク:mathiasbynens.be
38charsのが好きだわ
776: 2019/01/26(土)10:17 ID:rNPVIr5d(1) AAS
否定先読み
と言うのがなかなか理解出来ないのですが、
サンプルを動かすと確かに動作するのですが、
今一つ仕組みが分かりません。
どんなふうに理解すれば良いのでしょうか?
777
(2): 729 2019/01/26(土)10:42 ID:K4a4emwR(1) AAS
文字じゃなくて位置(文字と文字の間)に一致すると考えればいい
たとえば

abcdef

が対象の場合
肯定先読み(?=def)は直後にdefがある位置(cとdの間の位置)に一致する

abc[ここ]def

否定先読み(?!def)は直後にdefがない位置に一致する
省2
778: 2019/01/26(土)11:13 ID:yVAkGzul(1) AAS
なるほどthx
779: 2019/01/26(土)11:53 ID:mL4if6wW(1) AAS
>>777
横からだけど、否定のほうはなるほどだわ
条件を絞るつもりが広げちゃってる場合があるんだな
780: 2019/01/26(土)15:19 ID:exLOU4gz(1) AAS
先読みはマッチさせたら、マッチ開始位置に戻るから、
単なる位置指定で、幅を持たない。
単なる条件を追加した、フィルター

否定先読みはマッチしない場合に、マッチ開始位置に戻る

先読みは、マッチ位置の直後の条件を指定するが、
戻り読みは、マッチ位置の直前の条件を指定する
781: 2019/01/27(日)10:46 ID:Th+zYLMn(1) AAS
>>777
ありがとうございました。
良く分かりました。
782
(1): 2019/01/28(月)10:47 ID:wg8XKdax(1/2) AAS
.netでの正規表現に迷ってます。
次の文字列のとき、"efgh/1"以降に"/"が含まれないときマッチするような正規表現を書きたいのです。
外部リンク:192.168.1.100  →True
外部リンク:192.168.1.100 →False
外部リンク:192.168.1.100  →True
外部リンク:192.168.1.100  →False
外部リンク:192.168.1.100  →True

次のような正規表現を試してみましたが、数値1文字しか対応できませんでした。
\/efgh\/[0-9]+(?!\/)
783
(2): 2019/01/28(月)10:57 ID:DdBbxYrt(1) AAS
\/efgh\/1[^/]*$
ではダメかな
784
(1): 2019/01/28(月)12:18 ID:c4Y7c3OH(1/2) AAS
>>783でいいと思う
あとスラッシュにエスケープは不要だから/efgh/1[^/]*$
否定先読みが使いたいなら /efgh/[0-9]+(?!.*/)
(?!.*/)はそれ以降/が含まれない位置という意味
(?!/)だと直後に/がない位置という意味だから数字が2文字以上続いたらマッチしてしまう
785
(1): 2019/01/28(月)12:21 ID:c4Y7c3OH(2/2) AAS
ごめん1って決まってるならこれでいいな
/efgh/1(?!.*/)
786: 782 2019/01/28(月)15:51 ID:wg8XKdax(2/2) AAS
>>783-785
ありがとうございます!
正しい判断をすることが出来ました。
数値は1以外もありえるため、次の正規表現を使います。
/efgh/[0-9][^/]*$
/efgh/[0-9](?!.*/)

>>784
正規表現の意味まで教えてもらい、本当に助かります。
今後の役に立てていきます。
787: 2019/01/29(火)06:11 ID:mzqJgDrY(1/2) AAS
$1
Windows PowerShell Cookbook
Regular Expressions Cookbook
Perl Cookbook
PHP Cookbook
Android Cookbook

Humble Book Bundle: Programming Cookbooks by O'Reilly (pay what you want and help charity)
外部リンク:www.humblebundle.com
788: 2019/01/29(火)06:32 ID:mzqJgDrY(2/2) AAS
Tools for Working with Regular Expressions
RegexBuddy
RegexPal
RegexMagic

More Online Regex Testers
RegexPlanet
regex.larsolavtorvik.com
Nregex
Rubular
myregexp.com
省7
789
(1): 2019/01/31(木)16:07 ID:Sc+6fvIO(1/2) AAS
誰かこの鬼雲のバグ修正PR投げてあげて

外部リンク:github.com
790: 2019/01/31(木)16:08 ID:Sc+6fvIO(2/2) AAS
外部リンク:github.com
(?(n) (?: X | Y ) ) and (?(n) X | Y ) behavior is same.
(?: ) is left out.

(?(n) (?: X | Y ) | ) is nomal behavior.
This is a solution to a this bug problem.

ruby 2.5.3p105 (2018-10-18 revision 65156) [x64-mingw32]
bregonig.dll Ver.4.12 with Onigmo 6.1.2
791: 2019/02/13(水)00:35 ID:HRhgNpoV(1) AAS
鬼雲には鬼雲を知ろうとすればするほど謎のテキストエディタの
情報が集まってくるという不思議な不具合があるがこのフィックスは不可能 :-)
792: 2019/03/07(木)20:57 ID:sEA+6w2y(1) AAS
今日元号の改正の準備で日付関連のコード書いてきたんだけど
>>695の置換が出来ると便利だったなという所があった
再帰が使えるのにこれが使えないのはバランス感覚に欠ける気がします
どうしてこうなった?
793: 2019/03/12(火)13:14 ID:vSZ9R6NM(1) AAS
先読みの(?=huge)をつけると、後方がキャプチャーされません

そもそも前方に文字のない?=って使い方あってるでしょうか?
ちなみに言語はVB6です
794: 2019/03/13(水)00:19 ID:heD+eXgL(1/3) AAS
Are you japanese?
Your japan language is strange.

Please show me sample codes.
795: 2019/03/13(水)01:39 ID:bUFEpZHr(1) AAS
あなたの英語も変ですよ。
日本人はJapaneseとキャピタライズしてください。
日本語もjapan languageではなくJapanese languageです。
Japaneseだけで日本語という意味になりますが、前の文で日本人という意味で使っているのでlanguageを付けるのはいい判断でした。
また最後の文は、どうしても複数の例を見たいことを強調するのでない限りcodesではなくのcodeがふつうです。
不定冠詞のaも付けません。(絶対にただひとつの例だけ欲しいのでない限り)
796: 2019/03/13(水)02:16 ID:heD+eXgL(2/3) AAS
自分の英語力は小学生相当なのでこんなもんです
教えてくれてありがとね
797: 2019/03/13(水)02:29 ID:Z/ka/TFK(1) AAS
irregular expression, exactly.
798: 2019/03/13(水)08:53 ID:heD+eXgL(3/3) AAS
I am good at irregular expression.
799: 2019/03/13(水)14:12 ID:ZUOT1OTB(1) AAS
nativeのひとに「あなた英語上手ですね」って言われても誉め言葉じゃないからな
その時点で下に観られてる
800: 2019/03/14(木)17:54 ID:k53fNhgw(1) AAS
上手ですねと言われる可能性が0なので大丈夫です
801
(7): 2019/04/22(月)20:21 ID:GQt1LKrG(1) AAS
sed
置換
1に挟まれたN個以下の0または-で構成された文字列を、同数の1で置き換える

10001→11111
100-1→11111
1---1→11111
10-0-0001→111111111

置換対象と同数の文字列で置換するというところをどう正規表現で表すかわからず、、、
よろしくお願いします
802: 2019/04/23(火)05:37 ID:TbAsj7lM(1) AAS
正規表現で数を数えるのは無理
マッチさせて自力で文字を数えるコード書いて入れ替えて

ちなみに\Gが使える正規表現環境なら正規表現単独で可能
803
(2): 2019/04/23(火)07:05 ID:k/th3sVe(1/2) AAS
>>801
sed ':r; s/1[0-]\([0-]*1\)/11\1/; tr'

前方に 1 のある 10 を 11 に置換する
置換に成功したら tラベル で :ラベル の位置に戻って繰り返す
804
(3): 2019/04/23(火)08:49 ID:ef59e0DS(1/5) AAS
>>801
たぶんこれだけでは不要なところを置換しそう
:a;s/1([^0\-]*)(?:[0\-])(.*)1/1$11$21/g;t a
例題をこなすのは確認
805
(3): 2019/04/23(火)10:21 ID:yIB0exXp(1/6) AAS
>>801
100010
とか
1000101
とか
があるのか?
あった場合はどうすべきか
そこは明記しような。
謎だらけの設計書書く奴はIT向いてない。
806
(2): 2019/04/23(火)11:46 ID:ef59e0DS(2/5) AAS
>>805
>>804で> 100010→111110、> 1000101→1111111は確認

というかオレは前後にゴミがつくことは何ら影響がある題とは思わなかった
>>801の「1に挟まれたN個以下の0または-で構成された文字列を、同数の1で置き換える」にはその前後について言及ないから「触らない」と判断

後者を1000101→1111101で求めるかという点は気になるところ
最初の1〜1ブロックのみなのか、行中の1〜1最長一致ブロックなのか(すべての1〜1ブロックを個別処理も同一)
807
(2): 2019/04/23(火)12:07 ID:yIB0exXp(2/6) AAS
>>806
()で囲うとなってれば入れ子のケースは当然問題になるんだから
入れ子を考慮する必要があるかを明確に定義してないのは駄目な仕様。

10-以外が現れた場合の扱いも明記されていない
→現れることはないとみなしている
んだから
100010は現れないと想定して書く選択肢もある。
いずれにしろ、不明瞭な仕様を書く奴は無能だし、
勝手に解釈するのも実際の仕事じゃトラブルの元。
808: 2019/04/23(火)12:23 ID:ZY45SR7V(1) AAS
Ruby なら、

re = /1([^1]+)1/ # 1〜1 で、はさまれた部分

str = "x10-0y0-1x"

# $1 は、capture 部分で、0-0y0-。この部分を置換する。
# 結果は、x1 (111y11) 1x
p str.sub( re ) { |s| "1" + $1.gsub( /[0-]/, "1" ) + "1" }
809
(2): 2019/04/23(火)12:38 ID:ef59e0DS(3/5) AAS
>>807
反論と取られたのかな
反論でも賛意でもないよ

個人的には>>801が「よい定義や仕様」とは欠片も思わない一方で「ダメダメ」とも思わない
組んでいく中で詳細を詰めていくことも現実としてある
あなたが求めているようながっちり仕様が決まっていたらむしろやることなんてほぼないかも
単に日本語を翻訳する作業になるのでむしろ苦痛かな…
そこまで詰められるなら日本語で指示しないで自分で書けよと思ってしまうかも

スレ的に読み替えればがっちり仕様を出した上で「これは正規表現で可能か?」という命題に繋がるのでスレでがっちり仕様を出すなと言う意味ではないです(念為)

仕事でもなし頭の体操的にてきとーに答えてるだけなんでこれくらいなら気にしない派
810: 2019/04/23(火)13:02 ID:k/th3sVe(2/2) AAS
% printf '100010\n1000101\n' | sed ':r; s/1[0-]\([0-]*1\)/11\1\n/; tr; s/\n//g'
111110
1111101
%
811: 801 2019/04/23(火)13:49 ID:CFFnqXFD(1) AAS
問題が曖昧であったため議論を紛糾させてしまいました。すみません。
たしかに入れ子のことや、一致する最初の文字列か、最長か、01-以外の文字の存在などを明確に記載できていませんでした。
今回の問題で聞きたかったことをシンプルに表現すると、検索文字列の文字数(1〜N個)に依存した置換が可能なのか、になります。
そこについては先の人が回答してくださった通り、文字数を記憶しておくような処理は不可能であるから正規表現の範疇ではないと思いました。
これまでの意見から当初目的ではないものの多くのヒントをもらいました。ありがとうございました。
問題提示者としていたらないながら、この話はクローズさせていただきます。
812: 2019/04/23(火)13:52 ID:yIB0exXp(3/6) AAS
>>809
反論だなんて受取ってないから妄想やめて。
定義が曖昧過ぎてねえ…
としか言ってないから。

01-以外でいいのか、1.*1でいいのか
などなど要件がこんな不明瞭じゃねえ

と言う話しかしてないのであしからず。
813
(1): 2019/04/23(火)13:54 ID:yIB0exXp(4/6) AAS
>>809
というか、そもそもお前宛じゃないのに
なんでお前が絡んで来てるのか謎。
勝手にお前が批判されたと妄想するなよ。
814
(1): 2019/04/23(火)15:45 ID:ef59e0DS(4/5) AAS
>>813
> というか、そもそもお前宛じゃないのに
ふあ?
>>807ID:yIB0exXp)で>>806ID:ef59e0DS)に安価されてるからですよ
んーなんなんかな(´д`)
815
(1): 2019/04/23(火)17:14 ID:yIB0exXp(5/6) AAS
>>814
>>805のことだが。
お前宛じゃないのに絡んで来たのお前だろ。
記憶喪失ワロタw
816: 2019/04/23(火)19:20 ID:GneiHx9I(1) AAS
まーまー、ここはわしの顔を立てて双方おとなしくしてくれまいか。
817
(2): 2019/04/23(火)19:41 ID:ef59e0DS(5/5) AAS
>>815
あーきみがいいたいのはそっちか
例題をこなす正規表現を提示している>>803,804宛と捉えたんだよね
すでに>>803,804出てるのになにも提示してないでぐちぐち言ってるんで

まあ気に障ったようなので安価張って絡んだ形になったのは謝るよ
818: 2019/04/23(火)19:46 ID:yIB0exXp(6/6) AAS
>>817
>>805>>801宛だと明示してるし
>>803>>804なんてどこにも書かれていないのに勝手に勘違いされてもさあ。
どこをどう見たってお前が勝手に絡んで来てるのに
「絡んだ形」とかふざけた言い方すんなよ。
819: 2019/04/24(水)19:37 ID:kN2xWSes(1) AAS
質問者の例題は数に応じた置換の簡単なサンプルが欲しくて書いたものだと思う
再帰的に無理やり導くクソコードなんて書かれても迷惑なだけでしょ
820: 2019/04/24(水)21:35 ID:SVxlletW(1) AAS
端からは大人と子供
ご愁傷様
821: 2019/04/25(木)02:00 ID:nkf4NYVZ(1) AAS
pythonスレで似たテーマ観たからマルチ認定
822: 2019/04/26(金)22:15 ID:pXwlHtT3(1) AAS
sedとpythonじゃまるで違うから別件だろうな

>>817
勘違いして迷惑かけた分際で「ぐちぐち」って言葉を使うか普通..

というかこの文体、昔セガBBSにいた南瓜さんという人にそっくりだな
別人だろうけど思い出してワロタ
823: 2019/04/26(金)22:34 ID:7hEPz6dq(1) AAS
しばらくぶりにノゾいたらワロタ

ID:yIB0exXp
外部リンク[html]:hissi.org

平日の朝から晩まで
内容がとっても抽象的
ネット弁慶クンってホントにいるんだな!w
824: 2019/04/26(金)23:09 ID:DINb0EDe(1) AAS
マ板恒例、湿度高めの展開になってきましたー
825: 2019/04/27(土)13:12 ID:W9D3URJl(1) AAS
オブジェクト指向最高さんは今回まったく落ち度が無い
迷惑かけといて素直に謝ることも出来ないくそコード製造機はもう来なくていい
826: 2019/04/27(土)21:25 ID:CxhHumup(1) AAS
翌日以降もこんな感じですよ
外部リンク[html]:hissi.org
外部リンク[html]:hissi.org
外部リンク[html]:hissi.org
外部リンク[html]:hissi.org
こちらで引き取ってもらえませんか?
827: 2019/05/04(土)22:49 ID:Wy3P56AZ(1) AAS
引き取ってくれてありがとう〜(^。^)
828
(1): 2019/05/29(水)23:29 ID:NoMeOMsF(1) AAS
よろしくお願い致します。

●Regular Expressionの使用環境
Python 3.7

●検索か置換か?
検索

●説明
3つ目と4つ目のダブルクオートの間の文字列を探す

●対象データ
"文字列1":[1000:"文字列2"]
省2
829
(2): 2019/05/30(木)07:22 ID:NTWA4E5y(1/2) AAS
>>828
Javaの正規表現テストサイト(*1)でしか試してないけど…
(?:[^"]*"){3}([^"]*)"

*1 外部リンク:regex-testdrive.com
830
(1): 2019/05/30(木)08:48 ID:ZbLZAkBS(1) AAS
>>829
文字列1が空だと空振るのでいっそベタ書きするかな
それと対象の規模によっては計算量も30%少なくて済む
"[^"]*"[^"]*"([^"]*)"

くどいーと思ってまとめてみても
"(?:[^"]*"){2}([^"]*)"
若干悪化して15%offくらいに留まる
831: 2019/05/30(木)09:14 ID:js+SNbQS(1) AAS
やっぱり可変長の戻り読み使えないなら後方参照で抜き出すしかないよね
というか正規表現以外で抜き出した方が処理軽いんじゃ
832
(1): 2019/05/30(木)10:41 ID:NTWA4E5y(2/2) AAS
>>830
> 文字列1が空だと空振るのでいっそベタ書きするかな
空振るの意味がよくわからん
効率は考えてない
833: 2019/05/30(木)16:00 ID:0UuZnvit(1) AAS
>>832
皆様、ありがとうございます。
>>829にてご提案頂いたものに、Pythonのエスケープシーケンスを加えて採用しました。
ほか、ご提案頂いたものも大変勉強になりました。
834
(1): 2019/06/12(水)18:51 ID:8qMgnvIv(1) AAS
正規表現で全角記号だけ抜き出す事はできますか?
★ファイル名 
みたいにして先頭に来るようにしてたんですが、全角記号はエラーおこすことがあるようです
835: 2019/06/12(水)20:16 ID:ATCcrAWn(1) AAS
なんの処理系か書けよな
836: 2019/06/12(水)20:18 ID:0U8oWwW8(1) AAS
使用する文字コードも
837
(1): 2019/06/17(月)00:16 ID:ks+4WGLz(1/2) AAS
助けてください。おながいします

●Regular Expressionの使用環境
Sakura Editor
(begonig.dll ver.3.06 with Onigmo 5.15.0)

●検索か置換か?
検索

●説明
日本語の文章の中に、全角英字が混じっています。
「全角英字の単語直後の任意の1文字」をマッチさせたいです。

(?<=[a-zA-Z]+).
省6
838
(1): 2019/06/17(月)02:22 ID:FPrxRapn(1) AAS
(?<=[a-zA-Z])[^a-zA-Z]
839
(1): 2019/06/17(月)06:40 ID:LXSfy5ij(1) AAS
>>837
> 「全角英字の単語直後の任意の1文字」

> ああいいいabcうABCえおかきくけ
bcうBCえ

> 「う」、「え」の2か所
任意とは
840: 2019/06/17(月)21:52 ID:ks+4WGLz(2/2) AAS
>>838
天才!天才!解決しました。大量に感謝
発想が . に囚われていた……勉強になります

>>839
単語というのが1文字じゃなくて英字で構成されたブロックの〜という意味でした。わかりにくくてスマソ
841: 2019/06/18(火)22:51 ID:y1gFJJpS(1) AAS
ちょっとした疑問
アラビア語のような右書き言葉だと正規表現をどう書くのだろう
文字列も正規表現も右書きだから、/xyz$/ は /$zyx/ ?

(レス不要です)
842: 2019/06/19(水)05:02 ID:tVNS+22r(1) AAS
【出資】松本卓朗 人工知能詐欺【注意】
2chスレ:rikei
843: 2019/06/19(水)14:27 ID:Yoy0IPRe(1) AAS
いし正が左らか右は語本日
844: 2019/06/23(日)22:51 ID:WHM6Ibwm(1) AAS
>>834
理論上は
|
で全部やればできる

ちょうど単なる全角(
1文字が2つの幅をもつ
ロシアの言語なども2幅
)
を捉えようとしていたので道具を紹介
画像リンク[jpg]:i.imgur.com
省2
845: 2019/06/24(月)06:26 ID:F4CLQWNj(1) AAS
外部リンク[htm]:so-zou.jp
こういうので全角記号だけさっくり選ばせろって事なんだろうけど
全角半角はユニコードだとフォント依存なので曖昧
ascii 以外って意味で言ってるんだろうけど
恐らく"ファイル名"て事からSJisの範疇外の文字って事かなと
846: 2019/06/24(月)21:23 ID:4+LiJo6+(1/5) AAS
一文字決めうち かつ あらっぽいコレクション
vim の :h digraphs には結構ある
[??????????▲△??▼▽??◆◇?○◎●??????★☆?????♀♂?????♪?♭?♯??? 、。〃?々〆〇《》]
847: 2019/06/24(月)21:24 ID:4+LiJo6+(2/5) AAS
[??????????▲△??▼▽??◇?○◎●??????★☆?????♀♂?????♪?♭?♯??? 、。〃?々〆〇《》]
848: 2019/06/24(月)21:24 ID:4+LiJo6+(3/5) AAS
[??????????△??▼▽??◆◇?○◎●??????★☆?????♀♂?????♪?♭?♯??? 、。〃?々〆〇《》]
849: 2019/06/24(月)21:28 ID:4+LiJo6+(4/5) AAS
おわった
NG word 群が正規表現を妨げる

一文字限定なら [] の処理が早い
vim の :h digraphs
には 1300個ぐらいの 記号を含むデータリストがあるから
それから組みたてやすい とおもう
850: 2019/06/24(月)21:56 ID:meJBThiE(1) AAS
NGワードと文字化けの区別ができない人は書き込んじゃダメ。
851: 2019/06/24(月)23:17 ID:4+LiJo6+(5/5) AAS
そういえばブラウザに NG word に指定したのは自分だった
あらしが記号を使ってたことがあったので
852: 2019/06/25(火)07:18 ID:0Do2GL77(1) AAS
荒らしが記号を使うことと書き込みを制限することに全く関連が無い
853: 2019/06/25(火)08:36 ID:Y04/VZ6Y(1) AAS
画像リンク[jpg]:i.imgur.com

こう見えていたんだ
左がわひどいね ごめんね
854
(2): 2019/07/08(月)00:38 ID:m6vFYfK4(1) AAS
●Regular Expressionの使用環境
サクラエディタ(か秀丸エディタ)

●検索か置換か?
置換

●説明
不定回数のパターンを置換したい。

●対象データ
[A=a,A=b,A=c,A=d,・・・・]
・・・・の部分はどこまで続くのかは決まってない。が、多くても20個くらい

●希望する結果
省1
855
(1): 2019/07/08(月)05:29 ID:9IE9wmRC(1) AAS
(?<!^)A=
856: 854 2019/07/08(月)23:27 ID:Rb/08H3f(1) AAS
>>855
ありがとうございます。
否定戻り読みってこうやって使うのですね。

もうちょっと深掘りして以下の場合どのようになるでしょう。
■対象データ
[A=a OR A=b OR A=c OR A=d・・・・]
[B=d OR B=c OR B=b OR B=a・・・・]
[C=a OR C=b OR C=c OR C=d・・・・]

■希望結果
A=a,b,c,d
省3
857
(1): 2019/07/10(水)08:43 ID:WA2fRW/e(1) AAS
\s++OR\s++.=
,
858
(1): 2019/07/10(水)09:18 ID:StxWbt+s(1/2) AAS
ここの住民の正規表現能力は超人的だ
お節介させてくれ
もし使用環境に perl があれば、
ウルトラ難しい正規表現を理解可能な小さなパーツに分類できる

cat /dev/clipboard
[A=a OR A=b OR A=c OR A=d・・・・]
[B=d OR B=c OR B=b OR B=a・・・・]
[C=a OR C=b OR C=c OR C=d・・・・]

cat /dev/clipboard | perl -ne 'if ( m{^ \[ ( \w+ [=] ) }xcm) {print $1}; { if ( m{ = (\w+) \s }xcg ) {print "$1,"; redo} if ( m{ = (\w+) \S }xc ) {print "$1\n"} }'
A=a,b,c,d
省2
859: 2019/07/10(水)09:35 ID:StxWbt+s(2/2) AAS
そして同じような形を処理するのに
必要な正規表現が大きく変わったりしない

cat /dev/clipboard
[A=a,A=b,A=c,A=d,A=e,A=f,A=g,A=h,A=i,A=j]

cat /dev/clipboard | perl -ne 'if ( m{^ \[ ( \w+ [=] ) }xcm) {print $1}; { if ( m{ = ( \w+ [,] ) }cxg ) {print "$1"; redo} if ( m{ = (\w+) [^,] }xc ) {print "$1\n"} }'
A=a,b,c,d,e,f,g,h,i,j
860
(1): 854 2019/07/11(木)01:01 ID:/KpWZOtx(1) AAS
>>857
すごい。。
置換できましたありがとうございます。

が、情けない話ですがなぜこういう置換結果になるのかが理解できません。
良ければどなたか解説いただけないでしょうか

>>858
ほんと、超人的ですね。。

Perlでのご教授ありがとうございます。
1度組んでしまえば汎用的に使えそうですね。
861: 2019/07/11(木)21:00 ID:SCYCuKB+(1) AAS
>>860
外部リンク[ja]:github.com
862
(2): 2019/07/13(土)20:47 ID:57lWPs8z(1/3) AAS
動作についての質問です。よろしくお願いします。

●Regular Expressionの使用環境
JavaScript (chrome)

●検索か置換か?
検索

●説明
'@time;prop1:style1;prop2:style2'.match(/(^|[@;])[^@;]*/g); が
["", ";prop1:style1", ";prop2:style2"] になる理由が分かりません。私の理解では、
["", "@time",";prop1:style1", ";prop2:style2"] となって欲しいところです。
どなたか説明お願いします。
省10
1-
あと 140 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.040s