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

質問編集履歴

3

書式の改善

2021/12/12 23:50

投稿

seastar
seastar

スコア62

title CHANGED
File without changes
body CHANGED
File without changes

2

書式の改善

2021/12/12 23:50

投稿

seastar
seastar

スコア62

title CHANGED
File without changes
body CHANGED
@@ -1,4 +1,4 @@
1
- Laravel5.6 / PHP 5.8
1
+ Laravel5.6 / PHP 7.4.12
2
2
 
3
3
  正規表現を複数、OR条件で組み合わせたいのですが、
4
4
  "preg_match(): No ending delimiter '/' found エラーが表示されます。

1

書式の改善

2021/12/12 23:49

投稿

seastar
seastar

スコア62

title CHANGED
File without changes
body CHANGED
@@ -1,16 +1,34 @@
1
+ Laravel5.6 / PHP 5.8
2
+
1
3
  正規表現を複数、OR条件で組み合わせたいのですが、
2
4
  "preg_match(): No ending delimiter '/' found エラーが表示されます。
3
5
 
4
6
  試したこと
5
7
  ```PHP
8
+ class sample_request extends FormRequest {
9
+
10
+ public function authorize()
11
+ {
12
+ return true;
13
+ }
14
+
15
+ public function rules()
16
+ {
17
+ $data = $this->all();
18
+ return [
19
+ 'sample' => 'required|regex:/^[a-zA-Z]+$ | ^(?!.[0-9]).*$/';
20
+ ];
21
+ }
22
+ ~~~
23
+
6
24
  リクエストクラスの正規表現部抜粋
7
- $rules['sample'] = 'required|regex:/^[a-zA-Z]+$ | ^(?!.[0-9]).*$/';
25
+ 'sample' => 'required|regex:/^[a-zA-Z]+$ | ^(?!.[0-9]).*$/';
8
26
   → preg_match(): No ending delimiter '/' found
9
27
 
10
28
  単体で確認
11
- $rules['sample'] = 'required|regex:/^[a-zA-Z]+$/';
29
+ 'sample' => 'required|regex:/^[a-zA-Z]+$/';
12
30
   → 正常に動作
13
- $rules['sample'] = 'required|regex:/^(?!.[0-9]).*$/';
31
+ 'sample' => 'required|regex:/^(?!.[0-9]).*$/';
14
32
   → 正常に動作
15
33
  ```
16
34
  regex:のあと全体を()で囲う、など試しましたがpreg_match(): No ending delimiter '/' foundを解消することができずに止まっているところです。