質問編集履歴
4
clarify what I already have.
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
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
|
-
~
|
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
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
|
-
|
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
|
-
|
19
|
+
~$ cat regex.txt | grep -e '\['
|
18
20
|
[text] kaku kakko
|
19
21
|
|
20
|
-
|
22
|
+
~$ cat regex.txt | grep -e '\{'
|
21
23
|
{text} nami kakko
|
22
24
|
|
23
|
-
|
25
|
+
~$ cat regex.txt | grep -e '\\'
|
24
26
|
slash / backslash \
|
25
27
|
```
|
26
28
|
|
1
typo
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
|
15
|
+
my ip is 192.168.1.99
|
16
16
|
|
17
17
|
$ ~/Downloads$ cat regex.txt | grep -e '\['
|
18
18
|
[text] kaku kakko
|