質問編集履歴

4

clarify what I already have.

2022/12/19 01:40

投稿

tf2014
tf2014

スコア75

test CHANGED
File without changes
test CHANGED
@@ -27,7 +27,7 @@
27
27
  ```
28
28
 
29
29
 
30
- 同様のことをMYSQLでやりたいのですが、エラーになります。
30
+ 同様のことをMYSQLでやりたいのですが、エラーになります。テーブル・データはすであるものとします。その既存のテーブルデータはこの通り。
31
31
 
32
32
  ```mysql
33
33
  mysql> SELECT * from mytable;
@@ -38,7 +38,9 @@
38
38
  | 4 | my ip is 192.168.1.99 |
39
39
  | 5 | slash / backslash \ |
40
40
  +---+-------------------------------------------+
41
-
41
+ ```
42
+ さて、上のテーブルを使って、以下のエラーが出るので、どう修正すればよいのかを教えてください。
43
+ ```
42
44
  mysql > SELECT * from mytable WHERE REGEXP '\.'
43
45
  ERROR 1064: You have an error in your SQL syntax; check the manual that corresponds to your MYSQL server version for the right syntax to use near 'regexp '\.'
44
46
 
@@ -46,3 +48,8 @@
46
48
  ERROR 1064: You have an error in your SQL syntax; check the manual that corresponds to your MYSQL server version for the right syntax to use near 'regexp '\['
47
49
  ```
48
50
  REGEXPで特殊文字をエスケープする方法を教えてください。もしかすると、エスケープ以外、他に何か問題があるのでしょうか?
51
+
52
+
53
+ 追記:
54
+ 回答をよんでみて、質問が明確ではないと感じたので追記いたします。
55
+ テーブルはすでに作られていて、テキストもすでにインサートされているものとします。テーブルの作り方、インサートの仕方の質問ではありません。 REGEXPのエラーに関する質問です。

3

clearify

2022/12/18 23:15

投稿

tf2014
tf2014

スコア75

test CHANGED
File without changes
test CHANGED
@@ -3,7 +3,7 @@
3
3
  仮に以下のようなファイルがあって、これを`grep`したら、バックスラッシュで特殊文字のエスケープが出来ます。
4
4
 
5
5
  ```txt
6
- $ cat regex.txt
6
+ ~$ cat regex.txt
7
7
 
8
8
  This line ends with a dot.
9
9
  [text] kaku kakko
@@ -12,7 +12,7 @@
12
12
  slash / backslash \
13
13
  ```
14
14
  ```grep
15
- ~/$ cat regex.txt | grep '\.'
15
+ ~$ cat regex.txt | grep '\.'
16
16
  This line ends with a dot.
17
17
  my ip is 192.168.1.99
18
18
 
@@ -45,4 +45,4 @@
45
45
  mysql > SELECT * from mytable WHERE REGEXP '\['
46
46
  ERROR 1064: You have an error in your SQL syntax; check the manual that corresponds to your MYSQL server version for the right syntax to use near 'regexp '\['
47
47
  ```
48
- REGEXPで特殊文字をエスケープする方法を教えてください。
48
+ REGEXPで特殊文字をエスケープする方法を教えてください。もしかすると、エスケープ以外、他に何か問題があるのでしょうか?

2

typo

2022/12/18 23:13

投稿

tf2014
tf2014

スコア75

test CHANGED
File without changes
test CHANGED
@@ -3,6 +3,8 @@
3
3
  仮に以下のようなファイルがあって、これを`grep`したら、バックスラッシュで特殊文字のエスケープが出来ます。
4
4
 
5
5
  ```txt
6
+ $ cat regex.txt
7
+
6
8
  This line ends with a dot.
7
9
  [text] kaku kakko
8
10
  {text} nami kakko
@@ -10,17 +12,17 @@
10
12
  slash / backslash \
11
13
  ```
12
14
  ```grep
13
- $ ~/$ cat regex.txt | grep '\.'
15
+ ~/$ cat regex.txt | grep '\.'
14
16
  This line ends with a dot.
15
17
  my ip is 192.168.1.99
16
18
 
17
- $ ~/Downloads$ cat regex.txt | grep -e '\['
19
+ ~$ cat regex.txt | grep -e '\['
18
20
  [text] kaku kakko
19
21
 
20
- $ ~/Downloads$ cat regex.txt | grep -e '\{'
22
+ ~$ cat regex.txt | grep -e '\{'
21
23
  {text} nami kakko
22
24
 
23
- $ ~/Downloads$ cat regex.txt | grep -e '\\'
25
+ ~$ cat regex.txt | grep -e '\\'
24
26
  slash / backslash \
25
27
  ```
26
28
 

1

typo

2022/12/18 23:10

投稿

tf2014
tf2014

スコア75

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,7 @@
12
12
  ```grep
13
13
  $ ~/$ cat regex.txt | grep '\.'
14
14
  This line ends with a dot.
15
- my ip is 1.2.3.4
15
+ my ip is 192.168.1.99
16
16
 
17
17
  $ ~/Downloads$ cat regex.txt | grep -e '\['
18
18
  [text] kaku kakko