[過去ログ] Regular Expression(正規表現) Part13©2ch.net (1002レス)
上下前次1-新
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
このスレッドは過去ログ倉庫に格納されているため、キャッシュを表示しています。過去ログメニュー
764(1): 2016/06/29(水)15:19 ID:jeflfaNJ(1/5) AAS
bash 4.2.46
grep 2.20 です。
以下のように文字列中の大かっこにパターンマッチしたいんですが、
なぜマッチしないのかわかりません。
$string="[string"
echo $string | grep [\[\]] <-マッチしない
echo $string | grep [\]\[] <-[と]を逆にするとマッチする
766: 2016/06/29(水)16:46 ID:jeflfaNJ(2/5) AAS
ダブルクオートでくくると、マッチしていた[\]\[]もマッチしなくなりました。
ivhをつけてみると、grep [[]]と grep [][] と表示されました。
正規表現の[] のなかで、「[」や「]」自身にマッチさせるのはなんか特殊
な方法がいるんでしょうか?
767: 2016/06/29(水)16:50 ID:jeflfaNJ(3/5) AAS
あ、マニュアルを見たら以下のように書いてありました。
リテラル ] を含めるには、この文字をリストの先頭に
置いてください
だから[[]]はだめで、[][]はOKなんですね。
772: 764 2016/06/29(水)17:29 ID:jeflfaNJ(4/5) AAS
ちなみに、grep のマニュアルには続きがあって以下だそうです。
初めて知りました。bashの正規表現でも同じ使い方じゃなくちゃダメでした。
----------------------------
リテラル ] を含めるには、この文字をリストの先頭に
置いてください。同様に、リテラル ^ を含めるには、この文字をリスト
の先頭以外に置いてください。リテラル - を含めるには、この文字をリ
ストの最後に置いてください。
775: 2016/06/29(水)17:48 ID:jeflfaNJ(5/5) AAS
\でエスケープすればOKと思ってたのが、そういうもんでもないんですね。
理由は分かりませんが。。
ご協力ありがとうございました。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 4.278s