次の方法で共有

PowerShellで(を検索したい

Y5Q5jfD8HI4WXgcQ 45 評価のポイント
2026-01-30T03:58:02.1033333+00:00

PowerShellを使って、テキストファイル内の(を含む行を検索したいです。

①Select-String -Pattern '(' -Path C:\A\A.txt

②Select-String -Pattern 'X' -Path C:\A\A.txt

①は失敗し②は成功しました。また①を実行した際、

Select-String : 文字列 ( は有効な正規表現ではありません: 解析中 "(" - ) が足りません。

というエラーメッセージが出ました。

VBAにおけるChr関数に相当する機能で(を指定すればいいのではないか、と思うのですが、

どうすればいいのか分かりません。

家庭向け Windows | Windows 11 | 設定

質問作成者が受け入れた回答

Hebikuzure aka Murachi Akira 325.9K 評価のポイント MVP ボランティア モデレーター
2026-01-30T08:35:55.01+00:00

「 ( 」はエスケープが必要ですね。

about_Regular_Expressions - PowerShell | Microsoft Learn

次の文字が予約されています: [().\^$|?*+{

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。

質問作成者が受け入れた回答

Thomas4-N 17,380 評価のポイント Microsoft 外部スタッフ モデレーター
2026-01-30T08:31:52.18+00:00

この回答は翻訳されています。そのため、一部の表現や文法が不自然に感じられる場合があります。

こんにちは Y5Q5jfD8HI4WXgcQさん、Microsoft Q&A フォーラムへようこそ。

PowerShellを使用してテキストファイル内で文字通りの左括弧 『(』 を含む行を検索しようとしていると理解しています。

Select-String はデフォルトで -Pattern 値を正規表現として扱います。『(』 は正規表現の特殊文字であり(グループを形成するために右括弧 『)』 を必要とします)、これが解析エラーの原因となります。

朗報です — 文字通り検索する簡単な方法が2つあります:

  • バックスラッシュ \ で文字をエスケープする: Select-String -Path C:\A\A.txt -Pattern '\('
  • -SimpleMatch パラメーターを使用する: Select-String -Path C:\A\A.txt -Pattern '(' -SimpleMatch

この回答が役に立った場合は、「回答を受け入れる」をクリックし、高評価をお願いします。この回答について追加の質問がある場合は、「コメント」をクリックしてください。

注:このスレッドに関連するメール通知を受け取りたい場合は、当社のドキュメントに記載の手順に従ってメール通知を有効にしてください。

この回答は役に立ちましたか?

1 人がこの回答が役に立ったと思いました。

0 件の追加の回答

並べ替え方法: 最も役に立つ

お客様の回答

質問作成者は回答に "承認済み"、モデレーターは "おすすめ" とマークできます。これにより、ユーザーは作成者の問題が回答によって解決したことを把握できます。