teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

5

いつの間にか`\`が取り除かれて意味不明な説明になっていたので再度`\`を追加

2023/03/01 02:15

投稿

Daregada
Daregada

スコア11990

answer CHANGED
@@ -1,14 +1,14 @@
1
- 検索対象のファイルのフルパスに`(番号,番号)`が含まれていなければ、`(\d+,\d+).*`で行番号以降行末までマッチするでしょう。
1
+ 検索対象のファイルのフルパスに`(番号,番号)`が含まれていなければ、`\(\d+,\d+\).*`で行番号以降行末までマッチするでしょう。
2
-
2
+
3
- フルパスに`(番号,番号)`が含まれる可能性まで考えると、行番号の直後に表示される空白2個、その直後に表示される`[]`で囲まれたエンコーディングを示す文字列、その直後に表示される`:`も含めて、`(\d+,\d+) [.*?]:.*`とでも指定すればいいでしょう。
3
+ フルパスに`(番号,番号)`が含まれる可能性まで考えると、行番号の直後に表示される空白2個、その直後に表示される`[]`で囲まれたエンコーディングを示す文字列、その直後に表示される`:`も含めて、`\(\d+,\d+\) [.*?]:.*`とでも指定すればいいでしょう。
4
-
4
+
5
- ---
5
+ ---
6
- 補足: 正規表現を普段使わないとのことなので、少し補足します。
6
+ 補足: 正規表現を普段使わないとのことなので、少し補足します。
7
- - `(` → 文字`(`そのもの。正規表現の`(`は特殊な意味を持つ記号(メタ文字)なので、開き丸カッコそのものをマッチさせるは、`(`と書く必要があります。
7
+ - `\(` → 文字`(`そのもの。正規表現の`(`は特殊な意味を持つ記号(メタ文字)なので、開き丸カッコそのものをマッチさせるは、`\(`と書く必要があります。
8
- - `\d` → 0~9の数字のどれか1文字。正規表現の`d`は文字dそのもので、`\d`は特殊な意味を持つ文字列(メタ文字列)になります。
8
+ - `\d` → 0~9の数字のどれか1文字。正規表現の`d`は文字dそのもので、`\d`は特殊な意味を持つ文字列(メタ文字列)になります。
9
- - `+` → 直前のパターンの1回以上の繰り返し。ここでは、直前のパターンが`\d`なので、「0~9の数字のどれか1文字」が1回以上繰り返されるパターンにマッチします。同じ数字の連続でなくても構いません。
9
+ - `+` → 直前のパターンの1回以上の繰り返し。ここでは、直前のパターンが`\d`なので、「0~9の数字のどれか1文字」が1回以上繰り返されるパターンにマッチします。同じ数字の連続でなくても構いません。
10
- - `,` → 文字`,`そのもの。
10
+ - `,` → 文字`,`そのもの。
11
- - `\d+` → すでに説明済み。
11
+ - `\d+` → すでに説明済み。
12
- - `)` → 文字`)`そのもの。正規表現の`)`は特殊な意味を持つ記号(メタ文字)なので、閉じ丸カッコそのものをマッチさせるは、`)`と書く必要があります。
12
+ - `\)` → 文字`)`そのもの。正規表現の`)`は特殊な意味を持つ記号(メタ文字)なので、閉じ丸カッコそのものをマッチさせるは、`\)`と書く必要があります。
13
- - `.` → (改行を除く)任意の1文字。
13
+ - `.` → (改行を除く)任意の1文字。
14
14
  - `*` → 直前のパターンの0回以上の繰り返し。ここでは、直前のパターンが`.`なので、「(改行を除く)任意の1文字」が0回以上繰り返されるパターンにマッチします。`*`は貪欲にマッチするので、閉じ丸カッコの直後の文字から、改行の直前の文字まですべて`.*`にマッチすることになります。

4

表現を修正

2021/09/02 11:52

投稿

Daregada
Daregada

スコア11990

answer CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  フルパスに`(番号,番号)`が含まれる可能性まで考えると、行番号の直後に表示される空白2個、その直後に表示される`[]`で囲まれたエンコーディングを示す文字列、その直後に表示される`:`も含めて、`(\d+,\d+) [.*?]:.*`とでも指定すればいいでしょう。
4
4
 
5
+ ---
5
6
  補足: 正規表現を普段使わないとのことなので、少し補足します。
6
7
  - `(` → 文字`(`そのもの。正規表現の`(`は特殊な意味を持つ記号(メタ文字)なので、開き丸カッコそのものをマッチさせるは、`(`と書く必要があります。
7
8
  - `\d` → 0~9の数字のどれか1文字。正規表現の`d`は文字dそのもので、`\d`は特殊な意味を持つ文字列(メタ文字列)になります。

3

誤字を修正

2021/09/02 11:52

投稿

Daregada
Daregada

スコア11990

answer CHANGED
@@ -8,6 +8,6 @@
8
8
  - `+` → 直前のパターンの1回以上の繰り返し。ここでは、直前のパターンが`\d`なので、「0~9の数字のどれか1文字」が1回以上繰り返されるパターンにマッチします。同じ数字の連続でなくても構いません。
9
9
  - `,` → 文字`,`そのもの。
10
10
  - `\d+` → すでに説明済み。
11
- - ')` → 文字`)`そのもの。正規表現の`)`は特殊な意味を持つ記号(メタ文字)なので、閉じ丸カッコそのものをマッチさせるは、`)`と書く必要があります。
11
+ - `)` → 文字`)`そのもの。正規表現の`)`は特殊な意味を持つ記号(メタ文字)なので、閉じ丸カッコそのものをマッチさせるは、`)`と書く必要があります。
12
12
  - `.` → (改行を除く)任意の1文字。
13
13
  - `*` → 直前のパターンの0回以上の繰り返し。ここでは、直前のパターンが`.`なので、「(改行を除く)任意の1文字」が0回以上繰り返されるパターンにマッチします。`*`は貪欲にマッチするので、閉じ丸カッコの直後の文字から、改行の直前の文字まですべて`.*`にマッチすることになります。

2

補足を追加

2021/09/02 04:12

投稿

Daregada
Daregada

スコア11990

answer CHANGED
@@ -1,3 +1,13 @@
1
1
  検索対象のファイルのフルパスに`(番号,番号)`が含まれていなければ、`(\d+,\d+).*`で行番号以降行末までマッチするでしょう。
2
2
 
3
- フルパスに`(番号,番号)`が含まれる可能性まで考えると、行番号の直後に表示される空白2個、その直後に表示される`[]`で囲まれたエンコーディングを示す文字列、その直後に表示される`:`も含めて、`(\d+,\d+) [.*?]:.*`とでも指定すればいいでしょう。
3
+ フルパスに`(番号,番号)`が含まれる可能性まで考えると、行番号の直後に表示される空白2個、その直後に表示される`[]`で囲まれたエンコーディングを示す文字列、その直後に表示される`:`も含めて、`(\d+,\d+) [.*?]:.*`とでも指定すればいいでしょう。
4
+
5
+ 補足: 正規表現を普段使わないとのことなので、少し補足します。
6
+ - `(` → 文字`(`そのもの。正規表現の`(`は特殊な意味を持つ記号(メタ文字)なので、開き丸カッコそのものをマッチさせるは、`(`と書く必要があります。
7
+ - `\d` → 0~9の数字のどれか1文字。正規表現の`d`は文字dそのもので、`\d`は特殊な意味を持つ文字列(メタ文字列)になります。
8
+ - `+` → 直前のパターンの1回以上の繰り返し。ここでは、直前のパターンが`\d`なので、「0~9の数字のどれか1文字」が1回以上繰り返されるパターンにマッチします。同じ数字の連続でなくても構いません。
9
+ - `,` → 文字`,`そのもの。
10
+ - `\d+` → すでに説明済み。
11
+ - ')` → 文字`)`そのもの。正規表現の`)`は特殊な意味を持つ記号(メタ文字)なので、閉じ丸カッコそのものをマッチさせるは、`)`と書く必要があります。
12
+ - `.` → (改行を除く)任意の1文字。
13
+ - `*` → 直前のパターンの0回以上の繰り返し。ここでは、直前のパターンが`.`なので、「(改行を除く)任意の1文字」が0回以上繰り返されるパターンにマッチします。`*`は貪欲にマッチするので、閉じ丸カッコの直後の文字から、改行の直前の文字まですべて`.*`にマッチすることになります。

1

補足を追加

2021/09/02 04:10

投稿

Daregada
Daregada

スコア11990

answer CHANGED
@@ -1,1 +1,3 @@
1
- 検索対象のファイルのフルパスに`(番号,番号)`が含まれていないなければ、`(\d+,\d+).*`で行番号以降行末までマッチするでしょう。
1
+ 検索対象のファイルのフルパスに`(番号,番号)`が含まれていなければ、`(\d+,\d+).*`で行番号以降行末までマッチするでしょう。
2
+
3
+ フルパスに`(番号,番号)`が含まれる可能性まで考えると、行番号の直後に表示される空白2個、その直後に表示される`[]`で囲まれたエンコーディングを示す文字列、その直後に表示される`:`も含めて、`(\d+,\d+) [.*?]:.*`とでも指定すればいいでしょう。