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

質問編集履歴

3

修正

2021/10/07 13:43

投稿

ty-ty
ty-ty

スコア3

title CHANGED
File without changes
body CHANGED
@@ -1,18 +1,30 @@
1
1
  ### 前提・実現したいこと
2
2
 
3
- - 正規表現「文字完全一致」と「文頭検索」 を実現し
4
- ユーザー入力で入力され値がテキスト内の英単語と一致すればTRUE,しなければFALSEと返したい
3
+ 以下の3つを満検索後にTRUE、 FOLSEを返したい
5
4
 
5
+ ######(1)「大文字小文字の区別をしない」
6
+ 例)テキストには「 difficult」があり、ユーザーが「DiffiCulT」と入力しても検索できるようにしたい。
6
7
 
8
+ ######(2)「英単語ごとに完全に一致する単語を検索したい」
7
- - 現在、"/$input/i"で大小文字を問わない正規表現出来ている為上記の「文字完全一致文頭検索の追加実現したい
9
+ 例)テキストには「 Big dog」があり、文字の大小区別せずユーザーが「bigdog」を入力すると検索できるようにしたい
10
+ 今のままでは、b,i,g,d,o,gのいずれかを入力すると検索が出来てしまいます。
8
11
 
12
+ ######(3)「ユーザーの複数入力した文字の先頭だけで検索したい」
13
+ 例)テキストには「 I want to have a dog」があり、ユーザーが「want to」を入力しても「want」で検索したい
9
14
 
15
+
16
+ の3つをユーザー入力による検索で行いたいです。
17
+
18
+ ######現在はユーザーが入力した文字が入った$inputを以下のように記載しているので、(1)が出来ています!
19
+ if (preg_match_all("/$input/i", $text))
20
+
21
+
10
22
  現在の状況は、英単語ごとの「完全一致」が出来ていない為、テキスト内に含まれる「a」「b」「c」などの一字でもユーザー入力すると、TRUEになります。また不一致の場合はFALSEになることが確認できています。
11
23
 
12
24
 
13
25
  *出来るだけテキスト内には正規表現行わない方法でご教授お願いしたいです。
14
26
 
15
- 該当のソースコードから、実装方法や参考情報などをご教授頂きたいと存じます。
27
+ 該当のソースコードから、実装方法や参考情報などをご教授頂きた存じます。
16
28
 
17
29
 
18
30
  ### 該当のソースコード
@@ -23,7 +35,7 @@
23
35
  $text = 'I am learning programming. It can be difficult, but it is fun to be able to implement it .';
24
36
  // echo $text;
25
37
 
26
- // 標準入力
38
+ // ユーザーによる入力 標準入力
27
39
  $input= trim(fgets(STDIN));
28
40
 
29
41
  // 部分一致

2

誤字

2021/10/07 13:43

投稿

ty-ty
ty-ty

スコア3

title CHANGED
File without changes
body CHANGED
@@ -12,6 +12,9 @@
12
12
 
13
13
  *出来るだけテキスト内には正規表現行わない方法でご教授お願いしたいです。
14
14
 
15
+ 該当のソースコードから、実装方法や参考情報などをご教授頂きたいと存じます。
16
+
17
+
15
18
  ### 該当のソースコード
16
19
 
17
20
  ```
@@ -53,4 +56,9 @@
53
56
 
54
57
  ### ご拝読頂き誠にありがとうございます
55
58
  お手隙の際に「実現したいこと」に記載されている内容をご教授いただけないでしょうか。
59
+
60
+
61
+
62
+ コメント・ご教授頂きました際には、迅速にご返信いたします。
63
+
56
64
  ご協力のほど、宜しくお願い致します。

1

誤字

2021/10/07 10:50

投稿

ty-ty
ty-ty

スコア3

title CHANGED
File without changes
body CHANGED
@@ -43,8 +43,10 @@
43
43
  先頭検索を行う際に
44
44
  `if (preg_match_all("/$input/i", $text))`の`"/$input/i"`を`"/^$input/i"`としましたがうまく処理が出来ませんでした。
45
45
 
46
+ - `preg_match`の使い方として`preg_match(正規表現, 対象テキスト)`ですが、`preg_match(正規表現(変数), 対象テキスト)`のように
47
+ ユーザーが入力した値が格納された変数`$input`に、正規表現を行うことはできるのでしょうか。
46
48
 
47
- また、実装例や参考情報を探しても中々実装出来ません。
49
+ 実装例や参考情報を探しても中々実装出来ません。
48
50
 
49
51
 
50
52